我有一个xml文件,看起来像这样:
<items>
<itemA/>
<itemB/>
<itemA/>
<itemA/>
<itemC/>
</items>
但我需要使用php处理它并维护元素顺序。 我理解如何使用simplexml和数组表示法访问具有相同名称的元素,但我无法找到一种方法来迭代它们所有维护它们的顺序。
答案 0 :(得分:1)
选择父元素并迭代其子元素,请参阅http://php.net/manual/en/simplexmlelement.children.php
$xml = new SimpleXMLElement(
'<items>
<itemA/>
<itemB/>
<itemA/>
<itemA/>
<itemC/>
</items>');
foreach ($xml->children() as $item) {
//...
}
答案 1 :(得分:1)
对items
的孩子进行迭代;我已经为他们添加了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";
}
输出:
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