2014-01-21 46 views
0

Html中的InnerText屬性返回包括子項的所有文本。我如何複製這與xpath?使用xpath如何正確匹配所有內部文本

例如與以下XPath:

//SPAN[normalize-space()='mycooltext'] 

我想匹配

<span>mycooltext</span> 

還能有什麼發現

<span> 
    <span>my 
    <span> 
     cool 
    </span> 
    text 
    </span> 
</span> 

在這兩種情況下,根跨度內文是「mycooltext」。

我意識到normalize-space會去掉一些空格。

回答

1

嘗試使用descendant-or-self

//span/descendant-or-self::*[normalize-space() = 'my cool text'] 

注意normalize-space不會刪除單詞之間的空格

演示在這裏 - http://www.xpathtester.com/obj/fdbdafbe-22a5-4fac-a249-30c92dcb143a

如果你真的需要與所有文本匹配空間刪除,這似乎工作...

//span/descendant-or-self::*[translate(normalize-space(), ' ', '') = 'mycooltext'] 

演示 - http://www.xpathtester.com/obj/e893f3e1-6d57-445c-9802-d7525bcd6b31

相關問題