通过其属性值在XML文档中查找节点

时间:2011-05-26 18:19:56

标签: php xml

我正在尝试从xml提要中获取值,但我不确定如何获取它。 饲料:

 <name>
    <namerecord nameID="0" platformID="1" platEncID="0" langID="0x0">
      Hello World
    </namerecord>
    <namerecord nameID="1" platformID="1" platEncID="0" langID="0x0">
      MyName
    </namerecord>
    <namerecord nameID="6" platformID="1" platEncID="0" langID="0x0">
      Another Record
    </namerecord>
    <namerecord nameID="12" platformID="1" platEncID="0" langID="0x0">
      Another Record Again
    </namerecord>

我试图从中获取项目,目标是nameID的值。如果我只是像namerecord [0]那样定位它,那就是我需要它的方式不正确。

我尝试了很多这样的事情:

$test = $xml->name->namerecord->attributes('nameId, '12');

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

现在就是你如何处理XML:

$dom = new DOM();
$dom->load('your xml here');

$xp = new XPath($dom);

$node = $xp->query('//namerecord[@nameID=12]')->item(0);

$nameID = $node->getAttribute('nameID');