PHP:Xml与多个同名同级元素,保持顺序
我有一个xml文件,看起来像这样:PHP:Xml与多个同名同级元素,保持顺序,php,xml,simplexml,siblings,Php,Xml,Simplexml,Siblings,我有一个xml文件,看起来像这样: <items> <itemA/> <itemB/> <itemA/> <itemA/> <itemC/> </items> 但是我需要使用php来处理这个问题,并维护元素的顺序。 我知道如何使用simplexml和数组表示法访问同名元素,但我找不到一种方法来遍历它们并保持它们的顺序。选择父元素并遍历其子元素,请参见 $x
<items>
<itemA/>
<itemB/>
<itemA/>
<itemA/>
<itemC/>
</items>
但是我需要使用php来处理这个问题,并维护元素的顺序。
我知道如何使用simplexml和数组表示法访问同名元素,但我找不到一种方法来遍历它们并保持它们的顺序。选择父元素并遍历其子元素,请参见
$xml=新的SimpleXMLElement(
'
');
foreach($xml->children()作为$item){
//...
}
迭代项的子项
;我为它们添加了ID,以证明它们保持有序
$xml = new SimpleXMLElement('<items>
<itemA id="1" />
<itemB id="2" />
<itemA id="3" />
<itemA id="4" />
<itemC id="5" />
</items>');
foreach ($xml->children() as $child) {
echo "looking at " . $child->getName() . ", id: " . $child['id'] . "\n";
}
$xml = new SimpleXMLElement('<items>
<itemA id="1" />
<itemB id="2" />
<itemA id="3" />
<itemA id="4" />
<itemC id="5" />
</items>');
foreach ($xml->children() as $child) {
echo "looking at " . $child->getName() . ", id: " . $child['id'] . "\n";
}
looking at itemA, id: 1
looking at itemB, id: 2
looking at itemA, id: 3
looking at itemA, id: 4
looking at itemC, id: 5