2009-07-26 24 views
1

您好,我有以下問題。在XML中查找使用PHP的特定參數

我有e XML文件,我知道「uniquename = value2」的值。我想提取URL的值。

<set uniquename="value1"> 
    <items> 
    <item> 
     <units> 
     ... 
     </units> 
    </item> 
    <item> 
     <units> 
     ... 
     <url>http://www.something</url> 
     ... 
     </units> 
    </item> 
    </items> 
</set> 
<set uniquename="value2"> 
    <items> 
    <item> 
     <units> 
     ... 
     </units> 
    </item> 
    <item> 
     <units> 
     ... 
     <url>http://www.something2</url> 
     ... 
     </units> 
    </item> 
    </items> 
</set> 

有人有建議嗎?

感謝所有。

回答

4

您可以simplexmlxpath簡單地做到這一點:

$x = simplexml_load_string($xml); 
$nodes = $x->xpath('set[@uniquename="value2"]/items/item/units/url'); 

$url = (string)$nodes[0]; 
+0

+1,簡單,乾淨的答案。我開始回答關於simplexml的答案,然後意識到我沒有做很多工作,我不確定對象結構是什麼樣的,或者如何訪問它。這就是我喜歡的東西......你總是會學到一些東西。 – zombat 2009-07-26 18:50:49