2010-10-30 150 views
1

如何修改此xpath以查找內容是否包含含有我的關鍵字短語的alt的img標記? (包括(。,「'。$ keyword。'」)])');xPath幫助>使用alt ='我的關鍵字'查找img

+0

@ Scott-B:請編輯您的問題,並在文本開頭將您的評論發送至@Gaim。否則它沒有任何意義,根本不包含任何問題 – 2010-10-30 17:31:00

+0

@ Scott-B:雖然您的問題很模糊,但請在我的答案中查看一些可能的解決方案。 – 2010-10-30 17:36:14

回答

3

使用

boolean(//img[contains(@alt, 'yourKeywordHere')]) 

找到(true()false())是否有其alt屬性包含XML文檔中的img元素'yourKeywordHere'

使用

boolean(//yourTag//img[contains(@alt, 'yourKeywordHere')]) 

發現如果有一個名爲yourTag文檔具有後代imgalt屬性包含'yourKeywordHere'中的一個元素。

+0

謝謝迪米特雷。這很有道理。我可以使用xpath來確定關鍵字是否出現在文檔的第一個和/或最後一個句子中?我在想xpath不會將「句子」識別爲像節點這樣的實體。 – 2010-10-30 18:25:45

+0

@ Scott-B:您需要精確定義「句子」。 – 2010-10-30 18:44:00

+0

除了4小時之外,我沒有看到我和你的答案之間的差異,但沒關係 – Gaim 2010-10-30 21:22:36

0

我不明白你在loooking什麼元素,但​​這裏的例子,它返回包含在中高音與your_keyword至少一個圖像的所有元素h1

//h1[.//img[contains(@alt, 'your_keyword')]] 

你也應該處理如果區分大小寫。您可以使用此xpath但要小心,有些xpath評估程序不支持lower-case函數。

//h1[.//img[contains(lower-case(@alt), lower-case('your_keyword'))]] 

這裏是例子:

//h1[.//img[contains(@alt, 'key ')]] 

<html> 
    <h1> <!-- found --> 
     <img alt='here is my key' /> 
    </h1> 
    <h1><!-- not found --> 
     <img alt='here is not' /> 
    </h1> 
    <h1> <!-- found --> 
     <h2> 
      <img alt='the key is also here' /> 
     </h2> 
    </h1> 
    <h1></h1> <!-- not found --> 

</html> 
+0

感謝Gaim,我正在尋找確定內容中是否至少有一個圖像含有關鍵字的alt。我想我可以採取你的榜樣並從那裏出發。萬分感謝! – 2010-10-30 16:31:32

+0

@ Scott-B:請編輯您的問題,並在文本的開頭處添加您的評論。否則,這是沒有道理的,也不包含任何問題。 – 2010-10-30 17:30:29