0

XPath 1.0 を使用して、繰り返し親から個別の子要素を選択したいと考えています。XML は次のとおりです。

<parent>
<something>
    <catalog>
        <title>AAA</title>
        <artist>111</artist>
    </catalog>
    <catalog>
        <title>AAA</title>
        <artist>111</artist>
    </catalog>
    <catalog>
        <title>BBB</title>
        <artist>222</artist>
    </catalog>
</something>
<something>
    <catalog>
        <title>CCC</title>
        <artist>333</artist>
    </catalog>
    <catalog>
        <title>BBB</title>
        <artist>222</artist>
    </catalog>
    <catalog>
        <title>CCC</title>
        <artist>333</artist>
    </catalog>
</something>
<something>
    <catalog>
        <title>AAA</title>
        <artist>111</artist>
    </catalog>
    <catalog>
        <title>BBB</title>
        <artist>222</artist>
    </catalog>
    <catalog>
        <title>CCC</title>
        <artist>333</artist>
    </catalog>
</something>
</parent>

catalogさて、予想される出力では、さらに処理できるように、XML 全体から個別の要素を選択したいだけです。したがって、出力は次のようになります。

<catalog>
    <title>AAA</title>
    <artist>111</artist>
</catalog>
<catalog>
    <title>BBB</title>
    <artist>222</artist>
</catalog>
<catalog>
    <title>CCC</title>
    <artist>333</artist>
</catalog>

いくつかの既存のソリューションを見ましたnot(. = ../following-sibling::*)が、繰り返しの親アイテムから個別のアイテムを選択しようとしているため、役に立ちません。とんでもないxmlを助けて申し訳ありません。

4

1 に答える 1

1

次の兄弟の代わりに次の軸を使用すると、現在のコンテキストから始まるすべてのドキュメントが検索されます。

//catalog[not(. = following::catalog)]
于 2013-06-12T07:39:24.097 に答える