2012-10-17 55 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