如何在Java中对XML元素进行排序?

时间:2009-11-14 07:41:50

标签: java xml

我正在尝试根据节点对XML文档进行排序。什么是有效的分拣方法?

4 个答案:

答案 0 :(得分:2)

我不知道任何XML解析器提供开箱即用的元素排序,因为XML元素没有自然的排序顺序。这是因为在XMl规范中,元素的排序顺序很重要,因此解析任意XML块的代码都不应该对元素的顺序做出任何假设。

如果您需要排序的元素,则必须使用您喜欢的XML解析器解析XML文档并自行排序。或者,您可以使用XSLT对文档进行排序。

答案 1 :(得分:2)

您可以使用XSLT sort

对XML文档的节点进行排序

答案 2 :(得分:2)

XSLT方法的替代方法是编写您自己的实用程序方法,该方法使用指定的Comparator以降序或升序对指定节点的子节点进行排序。

public static void sortChildNodes(Node node, Comparator comparator, boolean descending) {

}

答案 3 :(得分:0)

我强烈建议你学习XSLT,因为它非常适合操作XML文档,包括排序等.Java支持在文件和内存结构上运行XSLT作为标准运行时库的一部分。

的用法
     <xsl:sort select="..."/>

http://www.xml.com/pub/a/2002/07/03/transform.html

中有详细描述