私は1つのファイルに結合したい同様の構造の2つのXMLファイルを持っています。 現在、私はこのチュートリアルで遭遇したEL4J XML Mergeを使用しています。 しかし、私は主な問題は、両方のファイルから1つの要素、別名1、2、3、4をマージしていないことが予想されるのでマージしません。 代わりに1と2または3のいずれかを破棄しますどのファイルが最初にマージされるかに応じて4つのファイルがあります。Javaの2つのXMLファイルを結合する
XML Mergeの経験がある人には、私が何が間違っているのかを教えてもらえればいいと思うか、誰かがXML用の良いAPIを知っていれば、ファイルをマージすることができます必要ですか?アドバンス
であなたの助けを多くのおかげ
編集:
が本当にこれを行うにはいくつかの良い提案を行うことができるように恵みを追加しました。私は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>
あなたが希望する結果を追加してもらえますか? –
期待される出力を追加しました。結果ノードへの結果の追加がもっともらしいものです。 –