我正在寻找XPath 1.0声明。我不能使用XSLT。
XML示例
NSString
我需要提取保留xml结构的最后数据内容。结果应如下所示
<root>
<data>
<okay>Hello</okay>
</data>
<data>
<okay>World</okay>
</data>
</root>
不幸的是,我无法搜索<root>
<data>
<okay>World</okay>
</data>
</root>
元素中的值,因为它是动态的。
我尝试了以下内容,但它会返回所有内容:
okay
答案 0 :(得分:1)
XPath用于选择 ,但您搜索的输出不是可以从XML文档中选择的。
XSLT用于转换 ,这就是您生成纯粹通过选择无法生成的结果所需要的。
如果您愿意放弃结果中的root
元素,
<data>
<okay>World</okay>
</data>
以下XPath将选择目标data
元素:
/root/data[last()]
答案 1 :(得分:0)
基于这个例子,它将是:
(//root/data/okay)[last()]
括号排序将它们列出,方括号允许您根据从1开始的索引来说明您想要的列表中的哪个元素。在您的示例中,索引将为2,但您不会想要硬编码任何动态的东西。
(//root/data/okay)[2]
我也不确定你的意思是什么&#34;好的&#34;元素是动态的,它总是有相同的标签吗?或者你指的是数据变化?
如果标签不同,您可以执行以下操作:
(//root/data/*)[last()]