0

我是 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);

请帮忙。

4

0 回答 0