我正在努力学习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父项和signaturetelephone兄弟项的type
关于参考资料,我实际上从the examples in the spec中学到的最多!

07-27 22:08