我的XHTML很差,我需要用xpath解析.它看起来像这样:
<div class="foo">
i need this text
<br/>
<br/>
<span>sometext</span>
</div>
<div class="foo">
<span>some other text</span>
<span>sometext</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我想在第一个div中选择"我需要这个文本"的所有内容.我的问题是,div元素包含空格或其他东西,所以// div [@ class ="foo"]/text()也为第二个div返回空字符串.我想忽略这些空白字段,我该怎么做?
Dim*_*hev 15
用途:
//div
[.//text()
[normalize-space() = 'i need this text']
]
//text()[normalize-space()]
Run Code Online (Sandbox Code Playgroud)
这将选择div
文档中any的任何非空白文本节点后代,即(div
)具有文本节点后代,其标准化字符串值为字符串"i need this text"
.
该normalize-space()
函数接受一个字符串(上下文节点的字符串值 - 如果没有指定参数)并从中生成另一个字符串,其中所有前导和尾随空格字符都被删除,并且任何相邻空白字符的内部组被替换为单一空间.
归档时间: |
|
查看次数: |
8370 次 |
最近记录: |