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.