如何使用 XPath 获取 XML 标签内的所有文本?
How to get all the text inside an XML tag using XPath?
我在 XML:
中有这种标签
<command name="config">config show</command>
例如,要使用 xpath 阅读那本书,我会这样做:
//command[@name='config']
但这会输出两个字符串:"config" 和 "show"。我希望能够得到一个唯一的字符串:"config show".
我尝试了 /text()
和 /node()
但没有成功。任何的想法?
对于
<command name="check_config">config show</command>
这个 XPath,
//command[@name='check_config']
选择文档中@name
属性值等于'config'
的所有command
元素;在这种情况下,只有上面显示的元素:
<command name="check_config">config show</command>
应该在自动转换为字符串的上下文中评估此元素,还是应该通过 string()
函数强制进行此类转换,
string(//command[@name='check_config'])
它将被转换为该元素的字符串值,
config show
这是一个字符串,而不是两个。
就我而言,它的作用是:
//command[@name='check_config']/text()
我想我之前尝试函数 text() 时语法有问题! :)
我在 XML:
中有这种标签<command name="config">config show</command>
例如,要使用 xpath 阅读那本书,我会这样做:
//command[@name='config']
但这会输出两个字符串:"config" 和 "show"。我希望能够得到一个唯一的字符串:"config show".
我尝试了 /text()
和 /node()
但没有成功。任何的想法?
对于
<command name="check_config">config show</command>
这个 XPath,
//command[@name='check_config']
选择文档中@name
属性值等于'config'
的所有command
元素;在这种情况下,只有上面显示的元素:
<command name="check_config">config show</command>
应该在自动转换为字符串的上下文中评估此元素,还是应该通过 string()
函数强制进行此类转换,
string(//command[@name='check_config'])
它将被转换为该元素的字符串值,
config show
这是一个字符串,而不是两个。
就我而言,它的作用是:
//command[@name='check_config']/text()
我想我之前尝试函数 text() 时语法有问题! :)