XML文件包含:
<list1>
<dzial>
<ofert>
<param name="surname" type="text">Something</param>
<param name="number" type="text">4234-343-3</param>
</ofert>
</dzial>
</list1>
如果我想获得“surname”参数,那么我可以使用此代码:
$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[???];
答案 0 :(得分:3)
您可以使用xpath,如本答案中所述: SimpleXML: Selecting Elements Which Have A Certain Attribute Value
$simplexml->xpath('/object/data[@attribute="value"]');
答案 1 :(得分:1)
使用XPath:
$xml = simplexml_load_file('test.xml');
$nodes = $xml->xpath('//param[@name="surname"]');
if (!empty($nodes)) {
echo $nodes[0];
}