【发布时间】:2021-07-16 15:37:23
【问题描述】:
我有这样的数据:
<people>
<person id="1">
<july>busy</july>
</person>
<person id="2">
<july>
<Fridays>busy</Fridays>
</july>
</person>
<person id="3">
<july>
<Fridays>
<afternoons>busy</afternoons>
</Fridays>
</july>
</person>
</people>
我想找到所有 text = 'busy' 的元素,然后将它们的路径报告回根目录。
我什至还没有找到如何打印元素。
//[text() = "busy"]
给予
[false()]
[false()]
[false()]
[true()]
[false()]
[false()]
[false()]
[true()]
[false()]
[false()]
[false()]
[false()]
[true()]
[false()]
来自 Martin Honnen 的//*[. = 'busy']!path() 非常接近!
/Q{}people[1]/Q{}person[1]
/Q{}people[1]/Q{}person[1]/Q{}july[1]
/Q{}people[1]/Q{}person[2]
/Q{}people[1]/Q{}person[2]/Q{}july[1]
/Q{}people[1]/Q{}person[2]/Q{}july[1]/Q{}Fridays[1]
/Q{}people[1]/Q{}person[3]
/Q{}people[1]/Q{}person[3]/Q{}july[1]
/Q{}people[1]/Q{}person[3]/Q{}july[1]/Q{}Fridays[1]
/Q{}people[1]/Q{}person[3]/Q{}july[1]/Q{}Fridays[1]/Q{}afternoons[1]
我想我更喜欢只显示每个人最长路径的东西?我对Q{}s 并不感兴趣,但它的优先级要低得多。
/Q{}people[1]/Q{}person[1]/Q{}july[1]
/Q{}people[1]/Q{}person[2]/Q{}july[1]/Q{}Fridays[1]
/Q{}people[1]/Q{}person[3]/Q{}july[1]/Q{}Fridays[1]/Q{}afternoons[1]
【问题讨论】:
-
有趣,同一天的第二个人使用
/[boolean expression]而不是例如foo[boolean expression]。我想你想要//*[. = 'busy']!path()。 -
是的,这似乎是一个常见的错误。