我是XML的新手,到目前为止设法在php中使用它来获取XML的根节点...
function xmlRootNode($xmlfile){
$xml = simplexml_load_string(file_get_contents($xmlfile));
$xml = $xml->getName();
echo $xml;
}
我现在想要做的是使用该根节点找出其子节点的名称。 例如,具有以下内容的文件将使用上述函数输出“food”作为根。我现在如何使用它来返回其子名称'fruit'?
<food>
<fruit>
<type>apples</type>
</fruit>
</food>
最终我要做的是找出根节点的子节点名称,这样我就可以在另一个计算有多少节点的函数中使用它。谷歌搜索和搞乱不同的想法,但认为我错过了一个简单的过程,所以任何想法都会受到赞赏。
答案 0 :(得分:3)
尝试
/* 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);
答案 1 :(得分:1)
// The following code block illustrates how you can get at the name of each child
$columnCDValues = array();
foreach ($simpleXMLElement->profile->children() as $child)
{
$name = $child->getName();
$value = $simpleXMLElement->profile->$name;
$columnCDValues[$child->getName()] = $value;
}