1

次の xml を検討してください。

<parent>
    <child name="alpha" />
</parent>

また、このxml

<parent>
    <child name="beta" />
</parent>

/parent/childには、名前の値として alpha または beeta のいずれかを持つ単一のノードのみが存在する必要があります。

明確にするために...それぞれがアルファベータという名前の2つの子ノードが存在することはありません

これら 2 つのケースのそれぞれでnameの値を返す単一の xpath クエリを作成しようとしています。

私はこれを試しました...

/parent/child[@name='alpha' | @name='beta']/@name

...しかし、うまくいきません。

この値をどのように返す必要がありますか..?

更新: 1 つの回答がそうではないことを示していたため、サンプルが適切な形式であることを確認するようにサンプルを修正しました。

4

2 に答える 2

7

試してみてください:

/parent/child[(@name='alpha') or (@name='beta')]/@name

括弧なしでも機能するはずです。

于 2009-10-09T11:54:29.847 に答える
1

XML は整形式ではないようです。次のようにする必要があります。

<parent>
    <child name="alpha"/>
</parent>

<parent>
    <child name="beta"/>
</parent>

XML が整形式でない場合、他の機能はあまり期待できません..

于 2009-10-09T12:37:38.127 に答える