У меня есть два XML-файла схожей структуры, которые я хочу объединить в один файл.
В настоящее время я использую EL4J XML Merge , с которым я столкнулся в этом уроке.
Однако он не объединяется, как я ожидаю, например, основная проблема заключается в том, что он не объединяет оба файла в один элемент, который также содержит 1, 2, 3 и 4.
Вместо этого он просто отбрасывает 1 и 2 или 3 и 4 в зависимости от того, какой файл объединяется первым.
Так что я был бы признателен всем, кто имеет опыт работы с XML Merge, если бы они могли сказать мне, что я могу делать неправильно, или, в качестве альтернативы, кто-нибудь знает хороший XML API для Java, который был бы способен объединять файлы по мере необходимости
Большое спасибо за вашу помощь заранее
Edit:
Может действительно сделать несколько хороших советов по этому поводу, поэтому добавил награду. Я попробовал предложение jdigital, но все еще возникают проблемы с слиянием XML.
Ниже приведен пример типа структуры XML-файлов, которые я пытаюсь объединить.
<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>
Ожидаемый результат
<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>