xml文件如下:
<span>foo
<strong>bar</strong>
</span>
我希望能够创建一个返回“foo”而不是“bar”的 XPath。//span[1]
返回“富吧”。
如何更改我的查询?
xml文件如下:
<span>foo
<strong>bar</strong>
</span>
我希望能够创建一个返回“foo”而不是“bar”的 XPath。//span[1]
返回“富吧”。
如何更改我的查询?
//span/text()
//span
返回所有文本节点,它们是(这里:“foo”)的直接子节点。
//span[1]
您尝试返回的第一个<span/>
元素及其所有内容,因此它实际上应该返回foo<strong>bar</strong>
. 如果您只想返回第一个文本节点,请像这样扩展上面的查询:
//span/text()[1]
对于像这样的输入
<span>
foo
<strong>bar</strong>
batz
</span>
这将导致“foobatz”,否则,它仍会将结果集限制为“foo”。
试试这个,
xpath string(//span/strong)
这就是我在 xmllint shell 中使用它的方式。您可以直接使用该功能string
。