0
SOAP 응답에서 다음 XML을 어떻게 파싱해야합니까?SOAP 응답에서 그룹 XML 노드 구문 분석 - 목적 C
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<areaSearchResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<areaSearchReturn xsi:type="ns1:QueryBean" xmlns:ns1="http://rpc.xml.coldfusion">
<details soapenc:arrayType="xsd:anyType[4]" xsi:type="soapenc:Array">
<details xsi:type="soapenc:string">photo1.jpg</data>
<details xsi:type="soapenc:int">1224</data>
<details xsi:type="soapenc:double">552.0</data>
<details xsi:type="soapenc:double">20.04</data>
</details>
<details soapenc:arrayType="xsd:anyType[4]" xsi:type="soapenc:Array">
<details xsi:type="soapenc:string">photo2.jpg</data>
<details xsi:type="soapenc:int">1234</data>
<details xsi:type="soapenc:double">632.0</data>
<details xsi:type="soapenc:double">34.05</data>
</details>
didEndElement 내 위의 코드에서
-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
if([[attributeDict valueForKey:@"xsi:type"] isEqualToString:@"soapenc:Array"]
&& [[attributeDict valueForKey:@"soapenc:arrayType"] isEqualToString:@"xsd:anyType[4]"]){
_propertyInfoArray = [[NSMutableArray alloc] init];
self.isNewRow = YES;
NSLog(@" New Row Created ");
}else{
self.isNewRow = NO;
_rawData = [[NSMutableString alloc] init];
}
}
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
[_rawData appendString:string];
}
-(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
if(self.isNewRow){
NSLog(@"Previous Row will be Added to NSSet");
}else{
[_propertyInfoArray addObject:_rawData];
NSLog(@"Value %@ ",_rawData);
}
}
}
을 다음과 같이 내가 NSXMLParser를 사용하고 있습니다 : 방법 나는 언제나처럼 self.isNewRow의 값을 얻고 거짓 (NO) 는 왜입니까?
위의 XML을 구문 분석 할 수있는 다른 방법은 무엇입니까? 또는 그룹 노드를 구문 분석하는 가장 좋은 방법은 무엇입니까?
미리 감사드립니다.