5

我想使用 XPath 来获取第一个父祖先。我想解析这样的代码:

<div>
    <span class="city">City 1</span>

    <div class="annonce">
        <span class="item">Item1</span>
    </div>
</div>
<div>
    <div class="annonce">

        <span class="item">Item2</span>
    </div>
</div>

<div>
    <span class="city">City 2</span>

    <div class="annonce">
        <span class="item">Item3</span>
    </div>
</div>
<div>
    <div class="annonce">
        <span class="item">Item4</span>
    </div>
</div>

通过 XPath,我想获得第一个父城市。例如,对于 Item1, Item2 我想要 City 1 而对于 Item3, Item4 我想要 City 2

有可能吗?PS:我无法编辑源代码。

谢谢

4

1 回答 1

8

我想使用 XPath 来获取第一个父祖先。

该术语不正确且具有误导性。“父母祖先”没有意义,因为父母总是祖先。

还。您要选择的元素不是任何span[@class='item']元素的父母或祖先。

最后,提供的文本不是格式良好的 XML 文档。在格式良好的 XML 文档中,只有一个顶部元素。

这说,

使用

preceding::span[@class='city'][1]

这选择上下文(当前)节点的第一个前面span元素,其class属性的字符串值为 string "city"

于 2012-10-11T22:33:16.000 回答