我正在努力学习xpath,发现它很难,因为我正在用google搜索这一切。
这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<details>
<signature id="sig1">
<name>mr. Barry Smith</name>
<telephone type="fixed">01234 123456</telephone>
<telephone type="mobile">071234562</telephone>
</signature>
<signature id="sig2">
<name>mr. Harry Smith</name>
<telephone type="fixed">01234 123456</telephone>
</signature>
</details>
我怎样才能找到有手机的人的名字,我可以得到其中一个,但不能同时得到两个。
我一直在尝试这样的事情:
staffdetails/signature/telephone[@type='mobile']name
另外,有没有使用xpath的参考指南,这样我就可以很容易地找出我想要的任何查询?通过使用在线教程,我发现可以解释xpath的工作原理,但是这些示例不够全面。
谢谢您!
最佳答案
这应该有效:
//signature/name[following-sibling::telephone[@type='mobile']]
它的读数如下:
选择任何具有
name
父项和signature
telephone
兄弟项的type
。关于参考资料,我实际上从the examples in the spec中学到的最多!