Todas las soluciones que he encontrado con respecto a la fusión de documentos XML no logran lo que deseo. Me explico:Fusión de documentos xml
XML Documento 1:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="Original Section">
<b title="Original Child Section"></b>
<b title="Original Child Section 2"></b>
</b>
</a>
XML Documento 2:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="New Section">
<b title="New Child Section"></b>
</b>
<b title="Original Section">
<b title="Original Child Section">
<b title="New Child For Old Section"></b>
</b>
</b>
</a>
En un documento final de la siguiente manera:
<?xml version="1.0" encoding="utf-8" ?>
<a>
<b title="Original Section">
<b title="Original Child Section">
<b title="New Child For Old Section"></b>
</b>
<b title="Original Child Section 2"></b>
</b>
<b title="New Section">
<b title="New Child Section"></b>
</b>
</a>
Los documentos son similares en su contenido , pero puede tener una cantidad arbitraria de nodos secundarios. También me gustaría eliminar duplicados. Considero que los duplicados son elementos con los mismos atributos (basados en el nombre y el valor del atributo). ¿Alguien ha visto un ejemplo funcional de esta implementación? Puedo imaginar cómo lo escribiría usando algunos bucles y un poco de recursión, pero para mí, eso simplemente no parece ser la mejor manera de lograr lo que quiero :)
¡Salud y gracias de antemano!
* EDITAR *
Dado que el consenso es que los bucles y recursividad son una necesidad, ¿cuál sería la forma más elegante y eficiente para lograr esto? Supongo que otra pregunta fundamental para este problema es ¿cuál es la mejor forma de comparar los nodos mientras iteras?
Implementé algo como esto para un cliente. Básicamente funciona de la manera en que lo implementaría: uso de bucles y recursión. –
+1 para buen ejemplo –
Estoy de acuerdo con @DanielHilgarth. Looping y recursing es básicamente la forma más sencilla de lograr esto. – Kian