根据其他节点属性选择节点(如果包含)

时间:2014-03-05 09:51:17

标签: xml xpath

您好,任何人都可以帮我解决如何在代码中进行操作:

<?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>

我找到答案“我怎样才能找到拥有手机的人的姓名”/details/signature[telephone/@type = 'mobile']/name, - 如果我包含完整的属性值,但我怎么能在其中包含包含功能。 我试过了:

/details/signature[telephone/[contains(@type,'mobile')]/name

但它无法正常工作。

1 个答案:

答案 0 :(得分:1)

你想要的可能是:

/details/signature[telephone[contains(@type, 'mobile')]]/name

正在寻找signature telephone type,其signature属性值包含“mobile”,并选择此/details/signature[ telephone[ contains(@type, 'mobile') ] ]/name 的名称子元素

{{1}}