我是 GDataXMLNode 和 xml 命名空间的新手。
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:StockDetails xmlns:ns1="urn:WinRetail:TestWebService">
<ttStockDetail>
<ttStockDetailRow>
<iconname>Levels.png</iconname>
<screenlabel>Inhand</screenlabel>
<detail>Product Detail</detail>
</ttStockDetailRow>
<ttStockDetailRow>
<iconname>Levels.png</iconname>
<screenlabel>In transit</screenlabel>
<detail>0</detail>
</ttStockDetailRow>
</ttStockDetail>
<resultstring>OK</resultstring>
</ns1:StockDetails >
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
如何在 Xcode 中使用 GDataXMLNode 解析这个带有命名空间的 xml?我不想使用路径。我想获取数组中的元素列表,然后以特定条件循环遍历它。我无法获取“StockDetails”的元素列表。
这是我的代码:
NSError *error;
GDataXMLDocument *xmlDocument = [[GDataXMLDocument alloc]initWithXMLString:fileContents options:0 error:&error];
NSDictionary *myNS = [NSDictionary dictionaryWithObjectsAndKeys: @"schemas.xmlsoap.org/soap/envelope/";, @"ns1", @"w3.org/2001/XMLSchema-instance";, @"ns2",,nil];
NSArray *tempArray = [xmlDocument.rootElement nodesForXPath:@"//ns1:Envelope" namespaces:myNS error:&error];
NSLog(@"%@",tempArray);
请帮忙。