当前位置: 代码迷 >> J2SE >> XML文件合并
  详细解决方案

XML文件合并

热度:134   发布时间:2016-04-23 20:22:58.0
XML文件合并 求救。
我想合并a,b两个XML文件,属性都一样,只是重复的删除不重复的加入,输出一个新的合并文件。
例:
a文件如下:
<query id="EL14_ENG_0000">
<docid>1</docid>
<beg>101</beg>
<end>108</end>
</query>
<query id="EL14_ENG_0001">
<docid>2</docid>
<beg>133</beg>
<end>139</end>
</query>
b文件如下:
<query id="EL14_ENG_0000">
<docid>1</docid>
<beg>101</beg>
<end>108</end>
</query>
<query id="EL14_ENG_0001">
<docid>4</docid>
<beg>127</beg>
<end>166</end>
</query>

如上,a,b文件第一个query节点相同,第二个不同,合并出来C文件希望是:
<query id="EL14_ENG_0000">
<docid>1</docid>
<beg>101</beg>
<end>108</end>
</query>
<query id="EL14_ENG_0001">
<docid>4</docid>
<beg>127</beg>
<end>166</end>
</query>
<query id="EL14_ENG_0001">
<docid>2</docid>
<beg>133</beg>
<end>139</end>
</query>
这样子,重复的加进去只加一次,不重复的全部加入。

我已经做得工作:把两个文件的docid跟beg跟end读成了数组形式,本来想用二维数组,然后判断contain呢,但是发现没有contain这个方法。

特来求救。
------解决方案--------------------
1、二维数组也可以(自己写个方法判断下(这三个节点的值)就行了)
2、也可以把这个三个(docid、beg、end)属性封装到一个map或者一个对象里
然后组装成List<Map>或者List<你封装的对象>,最后用list的contain方法判断存不存在
  相关解决方案