如何使用XPath获取XML标记内的所有文本?

时间:2017-06-30 20:23:34

标签: xml xpath tcl xpathnavigator

我在XML中有这种标记:

<command name="config">config show</command>

例如,要用xpath读取那个:

//command[@name='config']

但这有两个字符串:&#34; config&#34;并且&#34;显示&#34;。我希望能够得到一个独特的字符串:&#34; config show&#34;。

我尝试了/text()/node(),但没有成功。任何的想法?

2 个答案:

答案 0 :(得分:1)

有关

<command name="check_config">config show</command>

这个XPath,

//command[@name='check_config']

选择文档中的所有command元素,@name属性值等于'config';在这种情况下,只有上面显示的元素:

<command name="check_config">config show</command>

是否应在自动转换为字符串的上下文中评估此元素,或者您是否应通过string()函数强制进行此类转换,

string(//command[@name='check_config'])

它将被转换为该元素的字符串值,

config show

是一个字符串,而不是两个字符串。

答案 1 :(得分:0)

就我而言,它起作用的是:

//command[@name='check_config']/text()

我之前尝试使用函数text()时,我认为我在语法上做错了! :)