2013-01-04 67 views
2

非打破空间值比方说,我有这样的XML结构:匹配XPath中

<table> 
    <tr> 
     <td>&nbsp;</td> 
    </tr> 
</table> 

我怎么会在谓词指定具有节点值来比较:

//tr/td[.="???"] 

应该是什么指定而不是???

回答

2

在XPath 2,您可以使用

//tr/td[. = codepoints-to-string((160))] 

独立工具的使用

0

使用的&nbsp;字面意义:

/table/tr/td[.=' '] 
+1

都能跟得上。空间不匹配 – zerkms

+0

@zerkms - 这不是一个正常的空间。这就是字面不间断的空格字符。 –

+1

读者应该如何区分它?复制粘贴后,我看到'0x20'空格字符。 – zerkms

3

的解决方案是

//tr/td[.="\u0160"] 

,其中实际的Unicode的介绍将取决于你所使用的工具。

+1

对于那些使用nokogiri ruby​​库的人来说,你需要\ u00a0来表示十六进制。 –