0

次の XML があるとします。

<a>
    <b></b>
    <c></c>
    <d></d>
    <e></e>
</a>

dを除くaのすべての子を取得したい場合。そのために、私は以下を使用します:

/a/*[not(self::d)] 

ただし、これは3 つの別々のノードでbc、およびeを返します。私が探しているのは、bc、およびeを含み、 dを除く1 つのノードのみです。次の疑似コードに似たものになります。

/a/* and <do not include /a/d please>

これは可能ですか?

ありがとう。

4

1 に答える 1

2

XPath は、バージョン 1.0、2.0、3.0 のいずれであっても、サブツリーのみをクエリでき、変更 (削除を含む) または新しい要素を構築することはできません。

この目的のために XQuery または XSLT を使用するか、クエリ言語の外でドキュメントを変更し、XPath のみを使用して結果のサブツリーを選択し、後で別の XPath を使用して不要なノードを選択し、それらを結果から削除する必要があります。使用しているプログラミング言語。

于 2013-07-10T09:57:21.483 に答える