Tengo dos archivos XML de estructura similar que deseo fusionar en un archivo. Actualmente estoy usando EL4J XML Merge que encontré en este tutorial. Sin embargo, no se fusiona como esperaba, por ejemplo, el problema principal es que no fusiona los archivos de ambos en un elemento alias uno que contiene 1, 2, 3 y 4. En su lugar descarta 1 o 2 o 3 y 4 dependiendo de qué archivo se fusionó primero.Fusionar dos archivos XML en Java
Así que agradecería a cualquiera que tenga experiencia con XML Merge si me pueden decir lo que podría estar haciendo mal o, alternativamente, alguien sabe de una buena API XML para Java que sería capaz de fusionar los archivos como yo ¿exigir?
Muchas Gracias por su ayuda por adelantado
Editar:
realmente podría hacer con algunas buenas sugerencias sobre cómo hacer esto por lo que añaden una recompensa. Intenté la sugerencia de jdigital pero todavía tengo problemas con la fusión de XML.
A continuación se muestra un ejemplo del tipo de estructura de archivos XML que intento fusionar.
<run xmloutputversion="1.02">
<info type="a" />
<debugging level="0" />
<host starttime="1237144741" endtime="1237144751">
<status state="up" reason="somereason"/>
<something avalue="test" test="alpha" />
<target>
<system name="computer" />
</target>
<results>
<result id="1">
<state value="test" />
<service value="gamma" />
</result>
<result id="2">
<state value="test4" />
<service value="gamma4" />
</result>
</results>
<times something="0" />
</host>
<runstats>
<finished time="1237144751" timestr="Sun Mar 15 19:19:11 2009"/>
<result total="0" />
</runstats>
</run>
<run xmloutputversion="1.02">
<info type="b" />
<debugging level="0" />
<host starttime="1237144741" endtime="1237144751">
<status state="down" reason="somereason"/>
<something avalue="test" test="alpha" />
<target>
<system name="computer" />
</target>
<results>
<result id="3">
<state value="testagain" />
<service value="gamma2" />
</result>
<result id="4">
<state value="testagain4" />
<service value="gamma4" />
</result>
</results>
<times something="0" />
</host>
<runstats>
<finished time="1237144751" timestr="Sun Mar 15 19:19:11 2009"/>
<result total="0" />
</runstats>
</run>
Resultados previstos
<run xmloutputversion="1.02">
<info type="a" />
<debugging level="0" />
<host starttime="1237144741" endtime="1237144751">
<status state="down" reason="somereason"/>
<status state="up" reason="somereason"/>
<something avalue="test" test="alpha" />
<target>
<system name="computer" />
</target>
<results>
<result id="1">
<state value="test" />
<service value="gamma" />
</result>
<result id="2">
<state value="test4" />
<service value="gamma4" />
</result>
<result id="3">
<state value="testagain" />
<service value="gamma2" />
</result>
<result id="4">
<state value="testagain4" />
<service value="gamma4" />
</result>
</results>
<times something="0" />
</host>
<runstats>
<finished time="1237144751" timestr="Sun Mar 15 19:19:11 2009"/>
<result total="0" />
</runstats>
</run>
¿Es posible añadir el resultado deseado? –
Han agregado el resultado esperado, la suma de resultados en el nodo de resultados es la cosa más críptica. –