我正在制作一个 iOS 应用程序,我在其中使用 GDataXML 库在 Objective C 中进行 xml 解析。
我有以下 xml(作为肥皂响应得到):
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<MakeRequestResponse xmlns="http://tempuri.org/">
<MakeRequestResult>SOMERANDOMDATAHERE012912033905345346</MakeRequestResult>
</MakeRequestResponse>
</soap:Body>
</soap:Envelope>
我遇到的问题是:
当我像这样为给定的 xml 编写 xpath 表达式时,我得到了 MakeRequestResponse 节点:
NSArray *listOfNodes = [[responseDocument rootElement] nodesForXPath:@"soap:Body/*" error:&error];
但是,当我编写实际节点名称时,我无法获取此节点或下面的任何子节点:
NSArray *listOfNodes = [[responseDocument rootElement] nodesForXPath:@"soap:Body/MakeRequestResponse" error:&error];
我不确定这里有什么问题。这可能是与命名空间相关的问题吗?