1

xml ファイルは次のとおりです。

<span>foo
  <strong>bar</strong>
</span>

「bar」ではなく「foo」を返す XPath を作成できるようにしたいと考えています。//span[1]「フーバー」を返します。

クエリを変更するにはどうすればよいですか?

4

2 に答える 2

2
//span/text()

//span(ここでは "foo")の直接の子であるすべてのテキスト ノードを返します。


//span[1]あなたが試したのは、<span/>すべての内容を含む最初の要素を返すため、実際には を返す必要がありfoo<strong>bar</strong>ます。最初のテキスト ノードのみを返したい場合は、上記のクエリを次のように拡張します。

//span/text()[1]

次のような入力の場合

<span>
  foo
  <strong>bar</strong>
  batz
</span>

それ以外の場合は "foobatz" になりますが、それでも結果セットは "foo" に制限されます。

于 2013-02-22T11:41:57.223 に答える
0

これを試して、

xpath string(//span/strong)

それがxmllintシェルでの使用方法でした。関数stringを直接使用できます。

于 2013-02-22T11:54:06.530 に答える