我正在尝试通过 TouchXML 解析以下 XML:
<s:Envelope xmlns:s="namespace_1">
<s:Body>
<DefinedEntitiesResponse xmlns="namespace_2">
<DefinedEntitiesResult xmlns:a="namespace_3" xmlns:i="namespace_4">
<aefinedEntity>
<aescription>Some Description</aescription>
<a:Name>Some entity name</a:Name>
</aefinedEntity>
</DefinedEntitiesResult>
</DefinedEntitiesResponse>
</s:Body>
</s:Envelope>
我尝试这样解析:
CXMLDocument *doc = [[[CXMLDocument alloc] initWithXMLString:[request responseString] options:0 error:nil] autorelease];
NSArray *resultNodes = [doc nodesForXPath"/s:Envelope" error:nil];
NSLog(@"Resultnodes: %@", resultNodes);
得到错误:
XPath error : Undefined namespace prefix
XPath error : Invalid expression
问题 1:我做错了什么?
问题 2:我应该使用 TouchXML 作为库,还是有更简单更好的方法?
Best Answer-推荐答案 strong>
使用以下 project on github将您的 XML 解析为 NSDictionary。然后,您可以使用 NSPredicate 在已解析的字典中查找值。
关于iphone - TouchXML 命名空间解析?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/7713104/
|