OGeek|极客世界-中国程序员成长平台

标题: iphone - TouchXML 命名空间解析? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:20
标题: iphone - TouchXML 命名空间解析?

我正在尝试通过 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-推荐答案


使用以下 project on github将您的 XML 解析为 NSDictionary。然后,您可以使用 NSPredicate 在已解析的字典中查找值。

关于iphone - TouchXML 命名空间解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7713104/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4