xml – xPath从子节点获取父节点

前端之家收集整理的这篇文章主要介绍了xml – xPath从子节点获取父节点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要获得父节点的子节点“标题50”

目前我只使用

//*[title="50"]

我如何获得其父?
结果应该是存储节点。

<?xml version="1.0" encoding="utf-8"?>
<d:data xmlns:d="defiant-namespace" d:mi="23">
    <store d:mi="22">
        <book price="12.99" d:price="Number" d:mi="4">
            <title d:constr="String" d:mi="1">Sword of Honour</title>
            <category d:constr="String" d:mi="2">fiction</category>
            <author d:constr="String" d:mi="3">Evelyn Waugh</author>
        </book>
        <book price="8.99" d:price="Number" d:mi="9">
            <title d:constr="String" d:mi="5">Moby Dick</title>
            <category d:constr="String" d:mi="6">fiction</category>
            <author d:constr="String" d:mi="7">Herman Melville</author>
            <isbn d:constr="String" d:mi="8">0-553-21311-3</isbn>
        </book>
        <book price="8.95" d:price="Number" d:mi="13">
            <title d:constr="String" d:mi="10">50</title>
            <category d:constr="String" d:mi="11">reference</category>
            <author d:constr="String" d:mi="12">Nigel Rees</author>
        </book>
        <book price="22.99" d:price="Number" d:mi="18">
            <title d:constr="String" d:mi="14">The Lord of the Rings</title>
            <category d:constr="String" d:mi="15">fiction</category>
            <author d:constr="String" d:mi="16">J. R. R. Tolkien</author>
            <isbn d:constr="String" d:mi="17">0-395-19395-8</isbn>
        </book>
        <bicycle price="19.95" d:price="Number" d:mi="21">
            <brand d:constr="String" d:mi="19">Cannondale</brand>
            <color d:constr="String" d:mi="20">red</color>
        </bicycle>
    </store>
</d:data>
parent axes与父节点的名称一起使用。
//*[title="50"]/parent::store

此xpath将只选择父节点(如果它是存储)。

但你也可以使用这些

//*[title="50"]/parent::*
//*[title="50"]/..

这些xpath将选择任何父节点。因此,如果文档更改,您将始终选择一个节点,即使它不是您期望的节点。

猜你在找的XML相关文章