- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 xpath 和 GDataXML 解析 XML 时遇到问题——使用 xpath 测试器,我的字符串似乎应该可以工作,但我认为在命名空间中添加会干扰它的工作。
XML:
<?xml version="1.0" encoding="utf-8"?>
<Autodiscover xmlns='http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006'>
<Response xmlns='http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a'>
<Account>
<Protocol>
<Type>EXPR</Type>
<EwsUrl>https://server.my.dom/EWS/Exchange.asmx</EwsUrl>
</Protocol>
</Account>
</Response>
</Autodiscover>
NSDictionary *namespaceMappings = [NSDictionary dictionaryWithObjectsAndKeys:@"http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a", @"response", nil];
NSArray *idList = [doc nodesForXPath:@"//response:Protocol[Type='EXPR']/EwsUrl" namespaces:namespaceMappings error:nil];
NSArray *idList = [doc nodesForXPath:@"//Protocol[Type='EXPR']/EwsUrl" error:nil];
最佳答案
马丁的回答是正确的,但我想我只是为那些在第一次阅读时错过它的人(比如我)解释为什么。
当您设置命名空间映射时,给命名空间一个键,然后在您的 XPath 表达式中为您的选择器添加前缀,该键后跟一个冒号 (:)。此解决方案使用整洁的 TouchXML library 中的 CXMLDocuments 和 CXMLElements .
从一个简单的例子开始,假设您的 XML 是:
<books xmlns="http://what.com/ever">
<book>
<title>Life of Pi</title>
</book>
<book>
<title>Crime and Punishment</book>
</book
</books>
// So, assuming you've already got the data for the XML document
CXMLDocument* xmldoc = [[CXMLDocument alloc] initWithData:xmlDocData options:0 error:nil];
NSDictionary *namespaceMappings = [NSDictionary dictionaryWithObjectsAndKeys:@"http://what.com/ever", @"nskey", nil];
NSError *error = nil;
NSArray *bookElements = [xmldoc nodesForXPath:@"/nskey:books/nskey:book" namespaceMappings:mappings error:&error];
关于objective-c - GDataXML、命名空间和 xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10133885/
我正在使用 GDataXML 来解析可能的 XML,但我有一个问题: http://images...233/Detail.jpg
这是我的 XML 数据: The Powerful Academician Able to Reduce Tobacco Hazards http://china15min.
下面是一些示例 XML,显示了我尝试解析的基本设置。 到目前为止,我可以轻松提取任务、任务、标题、提示、练习和文本的数据,并获取练习中的属性type。 但是,我一生都无法弄清楚如何获取包含标签问题的问
当使用 GDataXML* 构建 XML 文档时,如何设置生成的 XML 的文档类型?可以在此处找到有关我如何使用 GData 的粗略概述: http://www.raywenderlich.com/
当我按照本教程使用 GDataXML 生成 XML 时 http://www.raywenderlich.com/725/xml-tutorial-for-ios-how-to-read-and-wr
如何使用 GDataXml 创建以下 Html: First string child link second string child 请注意 有三个 child : 没有任何标签的文本:"Fir
我在使用 xpath 和 GDataXML 解析 XML 时遇到问题——使用 xpath 测试器,我的字符串似乎应该可以工作,但我认为在命名空间中添加会干扰它的工作。 XML:
我怎样才能得到这个 和 。我已经尝试了很多,但都搞砸了。 26 1 Male admin admin Individual admin 212
我正在尝试更新 xml 文件。经过建议,我最终选择了 GdataXml。所以我正在尝试更新 options.xml 文件。 原始文件 Tom 1 我需要将“Tom”更改为“Jim”并保
97
我正在使用 GDataXML,但在编写 XML 文件时遇到了一些问题。 我遵循了 Raywenderlich 的教程,但我必须添加一些命名空间。 例如在此之后: [FooElement addChil
我正在使用GDataXML (在后台使用 libxml2)在 iPhone 上从 XML 文件读取名称列表。 John Doe 但是当我尝试将名字和
我面前有两个选项来解析非常大的 XML 文件, TouchXML GDataXML 因为 XML 文件非常大,所以需要做很多工作。我想问问已经使用过这些解析器的人。 哪个更适合胖 XML 文件? 我找
我目前正在使用 Google 的 GDataXML 库在我的 iOS 应用程序中操作 XML。 xml 用于填充 TableView ,所以我想支持(但当前不支持)的一件事是能够使用 tableVie
我有一个像这样的 xml 文件: anIntegerValue 所以我用 NSXMLParser 解析它,如下所示: 在 didStartElement 中我有类似的内容: if ([elem
首先我在.h文件中导入了#import "GDataXMLNode.h"。现在这是我的 XML,我必须使用 GDataXML 解析器对其进行解析。 1 1 0 null
我有一个包含多个入口节点的 XML 文件: 2013-12-19T13:30:20-05:00 This is a title This is the content
在 HTTP Post 之后,我检索了如下所示的 xml 响应: admin 0 0 0
我正在关注Ray Wenderlich's tutorial创建一个简单的 RSS feed 应用程序。到目前为止一切都很好,但我发现了一个问题。 当他告诉您下载 GDataXML 时,他给您提供了一
任何人都可以帮助我!我想使用 GDataXML,但是当我将 GData 文件复制到我的项目时,编译器会为此行给出错误“找不到文件”: #import 我认为这与使用 GData 的说明有关,因为在上
我是一名优秀的程序员,十分优秀!