Фильтр xquery по атрибуту и ​​элементу

У меня есть следующий простой XML-документ:

<?xml version="1.0" encoding="UTF-8"?>
<cars>
    <car>
        <data attrib="Make">
            <text>Volvo</text>
        </data>
        <data attrib="Model">
            <text>855</text>
        </data>
    </car>
    <car>
        <data attrib="Make">
            <text>Volvo</text>
        </data>
        <data attrib="Model">
            <text>745</text>
        </data>
    </car>
    <car>
        <data attrib="Make">
            <text>Volvo</text>
        </data>
        <data attrib="Model">
            <text>V70R</text>
        </data>
    </car>
</cars>

И следующий XPath:

/cars/car/data[(@attrib='Model') and (text='855')]

Это возвращает следующий результат:

<data attrib="Model"><text>855</text></data>

Я хочу, чтобы XPath возвращал весь блок <car>для совпадения.

Таким образом, возвращаемые данные будут такими:

<cars>
    <car>
        <data attrib="Make">
            <text>Volvo</text>
        </data>
        <data attrib="Model">
            <text>855</text>
        </data>
    </car>
</cars>

Как мне изменить приведенное выше выражение XPath, чтобы добиться этого?

8
задан Ramon 5 April 2017 в 09:16
поделиться