Tengo un XML tal que así:
Código XML:
Ver original<?xml version="1.0" encoding="utf-8" ?>
<pedidos>
<pedido>
<id>123456789</id>
<articulo>100</articulo>
</pedido>
<pedido>
<id>987654321</id>
<articulo>400</articulo>
</pedido>
<pedido>
<id>123456789</id>
<articulo>200</articulo>
</pedido>
</pedidos>
Lo que quisiera, es que si el id de un pedido coincide con el de otro que de alguna forma se fusionaran y queda algo así:
Código XML:
Ver original<?xml version="1.0" encoding="utf-8" ?>
<pedidos>
<pedido>
<id>123456789</id>
<articulo>100</articulo>
<articulo>200</articulo>
</pedido>
<pedido>
<id>987654321</id>
<articulo>400</articulo>
</pedido>
</pedidos>
Es decir se añade los artículos en un mismo pedido y se elimina el otro. Se puede hacer algo así? le tengo dado mil vueltas y nada.
Bueno no tiene por qué ser la corrección en el XML, si se hace en el objeto resultante también me valdría!
Uso simple XML y no paso de:
$pedidos = new SimpleXMLElement($this->url_xml);
y recorrerlo con un foreach.
Pero veo que simpleXML tiene muchas opciones y no se si habrá alguna que haga esto.
Veo que para añadir elementos puedo usar SimpleXMLElement::addAttribute o addChild pero para eliminar no veo ninguna forma.