2012-10-17 130 views
0

XML文件包含:如何根據參數屬性從xml中獲取特定值?

<list1> 
    <dzial> 
    <ofert> 
     <param name="surname" type="text">Something</param> 
     <param name="number" type="text">4234-343-3</param> 
    </ofert> 
    </dzial> 
</list1> 

如果我想獲得「姓」參數上,然後我可以使用此代碼:

$xml = simplexml_load_file('test.xml'); 

if ($xml->list1[0]->dzial[0]->ofert[0]->param[0]=="Something") 
    echo "works!"; 

但我想這樣做的不同的方式。我想根據其屬性name="surname"選擇參數。我怎樣才能做到這一點?

echo $xml->list1[0]->dzial[0]->ofert[0]->param[???]; 

回答

1

使用XPath

$xml = simplexml_load_file('test.xml'); 
$nodes = $xml->xpath('//param[@name="surname"]'); 

if (!empty($nodes)) { 
    echo $nodes[0]; 
} 
+0

這對我的作品。謝謝。 – Lucas