使用php选择XML文件中根节点的第一个子节点

2022-04-13 00:00:00 php simplexml

我是XML的新手,到目前为止,我已经成功地在php中使用它获得了XML的根节点...

function xmlRootNode($xmlfile){
    $xml = simplexml_load_string(file_get_contents($xmlfile));
    $xml = $xml->getName();
    echo $xml;
}

我现在要做的是使用该根节点找出它的子节点的名称。 例如,具有以下内容的文件将使用上面的函数输出‘Food’作为根。我现在如何使用它来返回它的儿童名称‘水果’?

<food>
  <fruit>
    <type>apples</type>
  </fruit>
</food>
最终,我要做的是找出根节点的子节点名,这样我就可以在另一个计算有多少个根节点的函数中使用它。我一直在谷歌上搜索和摆弄不同的想法,但我想我错过了一个简单的流程,所以任何想法都会受到欢迎。


解决方案

尝试

/* get list of fruits under food */
$fruits = $xml->children();

/* or treat the $xml as array */
foreach ($xml as $fruit)
{
   /* your processing */
}

另外,以下内容是多余的

$xml = simplexml_load_string(file_get_contents($xmlfile));

将其切换为

$xml = simplexml_load_file($xmlfile);

相关文章