在我的示例中,我在XML文件中生成。当我遍历它时,我需要检查第一个顶级元素的名称是什么,以确定如何处理它。
这是我的代码和伪代码:
$xml = simplexml_load_file($xmlfile);
$produce = array();
$i = 0;
foreach ($xml as $prod) {
//this works if I know there is fruit
$nm = $xml->fruit->name; //apple
$produce[i]['name'] = $nm
//what I want is this
if (the first level element name is 'fruit') then
do something fruity like $produce[i]['type'] = 1
else if (the first level element name is 'vegetable' then
do something else like $produce[i]['type'] = 2
$counter++;
}
我们都在思考"为什么水果/蔬菜不是元素的属性?" - 我无法控制输入。
如何测试第一个元素的名称?
答案 0 :(得分:0)
我是使用children()
完成的。
foreach ($xml->children() as $kid) {
if ($kid->getName() == 'fruit') {
//do something fruity
}
}