如何检索属性为 X 或 Y 的 XML 元素?
考虑这个 xml:
<parent>
<child name="alpha" />
</parent>
以及这个 xml
<parent>
<child name="beta" />
</parent>
在 /parent/child 处应该只有一个 sinlge 节点,其名称值为 alpha 或 beeta。
澄清一下......永远不会有 2 个子节点,每个子节点都命名为 alpha 和 beta
我正在尝试创建一个单一的 xpath 查询,它将返回 的值>name 在这两种情况下。
我尝试过这个......
/parent/child[@name='alpha' | @name='beta']/@name
但它不起作用。
我应该如何返回这个值..?
更新:我修改了示例以确保它们格式良好,因为一个答案表明它们不是。
Consider this xml:
<parent>
<child name="alpha" />
</parent>
and also this xml
<parent>
<child name="beta" />
</parent>
There should be only a sinlge node at /parent/child with either alpha or beeta as it's name value.
To clarrify... there will never be 2 child nodes one each named alpha and beta
I'm trying to create a single xpath query which will return the value of name in each of these 2 cases.
I tried this...
/parent/child[@name='alpha' | @name='beta']/@name
...but it does not work.
How should I return this value..?
Update: I ammendedd the samples to ensure they were well formed as one answer indicated they were not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用:
它也应该在没有括号的情况下工作。
Try with:
It should also work without the parentheses.
XML 似乎格式不正确,它应该是:
如果 XML 格式不正确,我不会期望有太多其他功能。
The XML doesn't appear to be well-formed, it should be:
If the XML isn't well-formed, I wouldn't expect much else to work..