XPath在“可能存在”标记内获取文本

时间:2012-06-04 13:11:23

标签: xpath

我有一个HTML,其中包含一些标签,如下所示:

<div id="SNT">text1</div>
<div id="SNT">text2</div>
<div id="SNT"><span style='color: #EFFFFF'>text3</span></div>
<div id="SNT"><span style='color: #EFFFFF'>text4</span></div>

如何使用XPath获取所有text代码中包含的{{>>所有 <div>

即:

text1  
text2  
text3  
text4   

1 个答案:

答案 0 :(得分:1)

使用

//div[@id='SNT']//text()

这将选择任何文本节点,该节点是XML文档中任何div元素的后代,其具有id属性,字符串值为字符串"SNT"

如果要从此选择中排除仅空白文本节点,请使用:

//div[@id='SNT']//text()[normalize-space()]

这类似于第一个XPath表达式,但是现在每个选定的文本节点都必须满足一个额外的谓词 - normalize-space() 函数对其字符串内容的值是非空字符串。

normalize-space()函数的值仅在其参数为空字符串本身时为空字符串,或者由仅包含空格的字符(空格,NL,CR和Tab)组成的字符串。