我正在尝试通过TouchXML解析以下XML:
<s:Envelope xmlns:s="namespace_1">
<s:Body>
<DefinedEntitiesResponse xmlns="namespace_2">
<DefinedEntitiesResult xmlns:a="namespace_3" xmlns:i="namespace_4">
<a:DefinedEntity>
<a:Description>Some Description</a:Description>
<a:Name>Some entity name</a:Name>
</a:DefinedEntity>
</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作为库吗?或者有没有更简单、更好的库?
发布于 2011-10-11 02:48:48
使用以下project on github将XML解析为NSDictionary。然后,您可以使用NSPredicate在已解析的字典中查找值。
https://stackoverflow.com/questions/7713104
复制相似问题