Как отсортировать элементы XML в Java? - PullRequest
1 голос
/ 14 ноября 2009

Я пытаюсь отсортировать документы XML по их узлам. Что такое эффективный метод сортировки?

Ответы [ 4 ]

2 голосов
/ 14 ноября 2009

Вы можете отсортировать узлы XML-документа, используя XSLT sort

2 голосов
/ 14 ноября 2009

Альтернативой подходу XSLT является написание собственного служебного метода, который сортирует дочерние элементы указанного узла по убыванию или возрастанию с использованием указанного компаратора.

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

}
2 голосов
/ 14 ноября 2009

Мне неизвестен какой-либо синтаксический анализатор XML, который обеспечивает сортировку элементов «из коробки», поскольку у элементов XML нет естественного порядка сортировки. Это связано с тем, что в спецификации XMl порядок сортировки элементов имеет значение, поэтому никакой код, обрабатывающий произвольный фрагмент XML, не должен делать никаких предположений о порядке элементов.

Если вам нужны отсортированные элементы, вам нужно будет проанализировать XML-документ, используя ваш любимый XML-анализатор, и отсортировать их самостоятельно. В качестве альтернативы вы можете отсортировать документ, используя XSLT .

0 голосов
/ 14 ноября 2009

Я настоятельно рекомендую вам изучить XSLT, поскольку он очень хорошо подходит для манипулирования XML-документами, включая сортировку и т. Д. Java имеет хорошую поддержку для запуска XSLT для файлов и структур в памяти как часть стандартной библиотеки времени выполнения.

Использование

     <xsl:sort select="..."/>

хорошо описано в http://www.xml.com/pub/a/2002/07/03/transform.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...