2010-10-03 32 views
0

考慮到這個HTML代碼:PHP的XPath來解析在表單的action屬性的URL

<div id="something_unique"> 
<form action="http://the_needed_link"> 
</form> 
</div> 

我們如何得到所需要的鏈接假設有很多網頁上表單標籤,但我們只能做需要一個具有唯一ID的div嗎?

回答

3

我相信這應該這樣做:

//div[@id="something_unique"]/form/@action 

編輯

對不起,我是關閉的一個字符;元素和屬性之間缺少斜線。這裏有一個完整的例子:

$doc = new DOMDocument('1.0', 'utf-8'); 
$doc->loadXML(
    '<root> 
    <div id="something_unique"> 
     <form action="http://the_needed_link"> 
     </form> 
    </div> 
    </root> 
    ' 
); 

$xpath = new DomXPath($doc); 
$result = $xpath->query('//div[@id="something_unique"]/form/@action'); 

var_dump($result->item(0)->nodeValue); 
+0

差不多。 '// div [@ id =「something_unique」]/form/@ action' – Tomalak 2010-10-03 07:04:15

+0

@Tomalak,你是對的!謝謝。我只是自己測試它,因爲我不確定。我會用一個完整的例子來更新我的答案。 – 2010-10-03 07:05:56

+0

這樣比較好。 :-) +1 – Tomalak 2010-10-03 07:15:15