头部受伤这个人,所以有人可以给我一条线吗?
XML就是这样(不是真正的东西,但这是一个清晰的例子):
<root>
<groups name="A">
<entry from="1" to="10" />
</groups>
<groups name="A">
<entry from="11" to="20" />
<entry from="21" to="30" />
</groups>
<groups name="A">
<entry from="31" to="40" />
<entry from="41" to="50" />
<entry from="51" to="60" />
</groups>
</root>
给定一个条目号我想找到这个号码介于其间的入口节点。应该只有一个节点匹配(如果有的话)。
继承我正在使用的xpath:
/ root / groups / entry [@from&gt; = 45 and @to&lt; = 45]
我已经尝试将数据包装在number()中,但仍然没有运气。
这不是我想要的回报,事实上它什么也没有回来,我看不出原因!我错过了什么?
修改:更正了我打开群组标签的错误...抱歉。
答案 0 :(得分:3)
该特定表达式没有返回任何内容,因为没有满足条件的entry
元素。首先,我建议将其更改为:
/root/groups/entry[@from <= 45 and @to >= 45]
另外,如果这确实是您的源XML,它将无效,因为它无效。您有<group>
个开放代码,但</groups>
结束标记。他们不匹配。您应该将它们全部更改为group
或groups
,并且您的XPath表达式应该反映出来。
我针对修改后的XML版本测试了该表达式(group
更改为groups
),并按预期返回了一个结果:
<entry from="41" to="50" />