我有一个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
最佳答案
用:
//div[@id='SNT']//text()
这将选择XML文档中任何
div
元素的后代,具有id
属性且字符串值为字符串"SNT"
的任何文本节点。如果要从此选择中排除纯空白文本节点,请使用:
//div[@id='SNT']//text()[normalize-space()]
这类似于第一个XPath表达式,但是现在每个选定的文本节点都必须具有一个附加的谓词,即
normalize-space()
函数在其字符串内容上的值是一个非空字符串。normalize-space()
函数的值仅在其参数为空字符串本身或由纯空格字符(空格,NL,CR和Tab)组成的字符串时才为空字符串。
关于xpath - XPath在“可能存在”标签中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10881944/