2012-08-26 47 views
-1

嘛htmo代碼是這樣的:的XPath不能得到屬性值

<a href="javascript:my_win('.......'"> 
<img src="...." border=0> 
<font color="red">title 
</a> 
</font> 

,我想找出顏色只對那些的這HREF包含個字:

javascript:my_win 

這是我的查詢:

$xpath->query('//a[contains(@href,"javascript:my_win")]/font'); 

但我什麼也沒得到。

如果我的查詢變成這樣,我通常會得到所有的hrefs,所以不會有錯誤的機會。

$elements = $xpath->query('//a'); 

如果我的查詢變成這樣每個colot都被打印出來。

$elements = $xpath->query('//a/font'); 

整個代碼是在這裏:

$elements = $xpath->query('//a[contains(@href,"javascript:my_win")]/font'); 

foreach ($elements as $element) { 

$str1=$element->getAttribute('color'); 

} 
+3

您的代碼包含語法錯誤,請參閱上面突出顯示的位置。 – salathe

+0

@ghostrider salathe意味着您的報價不匹配。它應該是'$ xpath-> query('// a [contains(href,「javascript:my_win('http://www2.mysite.gr/test/form?')]/font」);'not' $ xpath-> query('// a [contains(href,「javascript:my_win('http://www2.mysite.gr/test/form?」)]/font');' – toniedzwiedz

+0

有一個引用不匹配你用'''開頭,但用'''結尾 –

回答

0

使用@字符指屬性中的XPath:

//a[contains(@href, 'some required text')] 

如果只是寫href這個XPath處理器將尋找一個孩子名稱爲<href>的元素,其文本內容包含指定的字符串。

+0

仍然存在問題仍然存在 – ghostrider

+0

@ghostrider:您是否可以更新您的問題,形成了你的XHTML代碼的相關片段? –

+0

ok代碼更新 – ghostrider