我正在尝试根据节点对XML文档进行排序。什么是有效的分拣方法?
答案 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="..."/>
中有详细描述