对大型xml节点进行排序

时间:2014-06-04 16:12:08

标签: java xml

我试图在xml文件中对节点进行排序,每个节点包含300多个字段,所以我的问题是,有没有办法对这些节点进行排序,而不是我见过的例子对于只有少数字段的节点?如下例所示:sort the xml elements in java

在我的情况下,这将是不切实际的,但如果没有办法,我将不得不这样做。

我想通过ORDER_LINE

对其进行排序
<HEADER>
  <CARTON>
  </CARTON>

<CARTONDETAIL>

<WH>WHS01</WH>

<OWN>ClientID</OWN>

<ORD>1035178</ORD>

<RELEASE_NUM>1</RELEASE_NUM>

<ORDER_LINE>11</ORDER_LINE>

<TRUCK>0242009025</TRUCK>

<ORDERING>3</ORDERING>

<TRAILER_ID/>
300 more element.....
 </CARTONDETAIL>
  <CARTONDETAIL>
   Elements
  </CARTONDETAIL>

 </HEADER>

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

删除要排序的所有节点,将它们填充到List中,使用自定义Comparator执行Collections.sort(),该Comparator将转换为节点以提取ORDER_LINE,然后添加排序列表回到树上。

如果您想要一个过度设计的优雅解决方案,请编写一个将〜根元素转换为List的适配器,然后将其移交给Collections.sort()。