如何使用 XPath select 具有特定元素的第一个元素

How to select the first element with a specific element using XPath

我需要做类似的事情:

如何使用 XPath select 具有特定属性的第一个元素

我需要评估子元素值,而不是评估属性内容。假设该值在外业书籍中,我必须 select 包含特定书籍价值的类别节点。我试过了,但没有成功。

/bookstore/category[//book/text()='A2']

这是源文件。

<bookstore>
    <category>
        <book>A1</book>
        <book>A2</book>
    </category>
    <category>
        <book>B1</book>
        <book>B2</book>
    </category>
</bookstore>

我需要我的 xpath 表达式 return 只有 book=A2 的类别,但现在它 return 是两个类别节点。

您的 xpath 的问题是 //book 正在选择所有 book 个元素。

试试这个:/bookstore/category[book='A2']