使用复合 XPath 谓词搜索 XML 消息
我无法弄清楚如何使用复合 XPath 查询选择数据,以便基本上可以找到数据中的第 5 列行。这是我的示例 XML:
<sample>
<OBX>
<field position="1">1</field>
<field position="2">My Value</field>
</OBX>
<OBX>
<field position="1">2</field>
<field position="2">My other (and more important) value</field>
</OBX>
</sample>
基本上,我需要做的就是在 [field @position='1'] 等于 2 时找到 [field @position='2'] 的值。我正在尝试:
OBX[./field[@position='1']='2']/field[@position='2']
但这并不提出任何价值。实现这一目标的正确方法是什么?
谢谢,
迈克
I'm having trouble figuring out how to select data using a compound XPath query so that I can essentially find the 5th column of row in my data. Here is my example XML:
<sample>
<OBX>
<field position="1">1</field>
<field position="2">My Value</field>
</OBX>
<OBX>
<field position="1">2</field>
<field position="2">My other (and more important) value</field>
</OBX>
</sample>
Basically all I need to do is find the value of [field @position='2'] when [field @position='1'] is equal to 2. I am trying:
OBX[./field[@position='1']='2']/field[@position='2']
but this doesn't come up with any value. What would be the proper way to get this accomplished?
Thanks,
Mike
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我已经验证了这个 XPath 表达式:
根据提供的 XML 文档进行评估时:
确实选择了所需的节点
这里是一个演示,使用 XSLT 作为 XPath 托管语言:
当针对提供的 XML 文档应用此转换时,会生成正确的结果:
I have verified that this XPath expression:
when evaluated against the provided XML document:
does select the required node
Here is a demonstration, using XSLT as the XPath hosting language:
when this transformation is applied against the provided XML document, the correct result is produced: