TouchXML 命名空间解析?

发布于 2024-12-09 10:42:18 字数 1033 浏览 0 评论 0原文

我试图通过 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 作为库,还是有更简单、更好的东西?

I am trying to parse the following XML via TouchXML:

<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>

I try to parse this like so:

CXMLDocument *doc = [[[CXMLDocument alloc] initWithXMLString:[request responseString] options:0 error:nil] autorelease];

NSArray *resultNodes = [doc nodesForXPath:@"/s:Envelope" error:nil];
NSLog(@"Resultnodes: %@", resultNodes);

And getting the error:

XPath error : Undefined namespace prefix
XPath error : Invalid expression

Question 1: What am I doing wrong?
Question 2: Should I use TouchXML as a library, or is there something that works easier and better?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

女中豪杰 2024-12-16 10:42:18

使用以下 github 上的项目 将 XML 解析为 NSDictionary。然后,您可以使用 NSPredicate 来查找已解析字典中的值。

Use the following project on github to parse your XML into NSDictionary. You can then use NSPredicate to look up values in the parsed dictionary.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文