12

<td></td><td>foo</td>

戻りたい['', 'foo']のですが、libxml の xpath//td/text()['foo']. ''(一致しない) の代わりに空のタグを見つけるにはどうすればよいですか?

4

2 に答える 2

8

@Tomalak は完全に正しいですが、XPath 2.0 では以下を使用できます

//td/string(.)

tdこれにより、一連の文字列が生成されます。各文字列には、対応する要素の文字列値が含まれています。

したがって、あなたの場合、結果は望ましいものになります。

"", "foo"

于 2010-03-11T19:19:27.193 に答える
7

テキスト ノードを具体的に選択している限り、それはできません。最初の にはテキスト ノードがないため<td>です。

XPath 式を に変更すると、2 つのノード'//td'が取得されます。<td>その後の処理でそれらのテキスト値を使用します。

于 2010-03-11T09:57:51.833 に答える