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の場合はCity2が必要です。

それは可能ですか?PS:ソースコードを編集できません。

ありがとう

4

1 に答える 1

8

XPathを使用して最初の親の祖先を取得したいと思います。

この用語は正しくなく、誤解を招く恐れがあります。親は常に祖先であるため、「親の祖先」は意味がありません。

また。選択する要素は、どの要素の親でも祖先でもありませんspan[@class='item']

最後に、提供されたテキストは整形式のXMLドキュメントではありません。整形式のXMLドキュメントには、上位の要素が1つだけあります。

これは言った、

使用

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

spanこれにより、コンテキスト(現在の)ノードの最初の先行要素が選択されます。この要素のclass属性の文字列値は文字列"city"です。

于 2012-10-11T22:33:16.000 に答える