如何根据XPath中的其他元素属性值查找元素值

deu*_*on0 3 xml xpath

我正在努力学习XPath,并且发现它很难,因为我正在谷歌搜索所有这些.这是我的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>
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到拥有手机的人的名字,我可以得到,或者两者兼而有之.

我一直在尝试这样的事情:

staffdetails/signature/telephone[@type='mobile']name
Run Code Online (Sandbox Code Playgroud)

另外,是否有使用XPAth的参考指南,所以我可以很容易地找出我想要的任何查询?使用在线教程我已经找到了解释XPath的工作原理,但是这些示例并不足够.

谢谢!

JLR*_*she 7

这里不需要使用following-sibling::或嵌套谓词.这样做:

/details/signature[telephone/@type = 'mobile']/name
Run Code Online (Sandbox Code Playgroud)