使用SimpleXml在PHP中访问具有不同节点名称的XML的第n个元素

时间:2018-02-15 09:16:44

标签: php xml simplexml

当XML节点的所有子节点具有相同的名称时,使用PHP中的SimpleXml,您可以使用$ xml-> foo [$ nth]轻松访问第n个元素。 (Accessing nth element of XML in PHP with SimpleXml) 如果孩子有不同的名字,我怎样才能获得第n个元素?

例如在像这样的xml中:

<?xml version="1.0"?>
<root>
  <foo id="11" />
  <foo id="2" />
  <bar id="10" />
  <foo id="8" />
</root>

我想知道第三个元素是'foo'还是'bar'而不迭代所有节点。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用children()方法执行此操作:

$xml = simplexml_load_file('file.xml');
$childrens = $xml->children();
var_dump($childrens[1]); // <foo id="2" />
var_dump($childrens[2]); // <bar id="10" />

链接:http://php.net/manual/en/simplexmlelement.children.php