как отсортировать файл XML с помощью Java - PullRequest
0 голосов
/ 17 января 2012

У меня есть XML-файл, и я хочу отсортировать его в текстовом формате

Футбол |Англия |Премьер Лига |Блекпул ФК - Бирмингем Сити 5-1

<?xml version="1.0" encoding="UTF-8"?>
  <LivescoreData>
  <Sport SportId="1">
   <Name language="en">Soccer</Name>
   <Name language="se">Fotboll</Name>
   <Category CategoryId="34">
    <Name language="en">Australia</Name>
   <Name language="se">Australien</Name>
   <Tournament TournamentId="144">
    <Name language="en">Hyundai A-League</Name>
    <Name language="se">Hyundai A-League</Name>
    <Match MatchId="4616735">
      ....
     etc

Ответы [ 3 ]

0 голосов
/ 17 января 2012

Если у вас есть гибкие возможности выбора библиотеки / фреймворка, одно из решений - использовать XStream и десериализовать xml в коллекцию java-объектов и отсортировать их.

Например:

List<Employee> employeeList = xStream.fromXML(xmlFile);
Collections.sort(employeeList, new Comparator() { .... });

РЕДАКТИРОВАТЬ : Также проверьте ссылки ниже:

1) Как отсортировать элементы XML в Java?

2) XSLT Сортировка

0 голосов
/ 17 января 2012

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

0 голосов
/ 17 января 2012

Используйте dom4j . Отличная библиотека для работы с XML-файлами.
Вы можете скачать его с здесь .

    SAXReader reader = new SAXReader();
    Document doc = reader.read(new File("myXML.xml"));
    Element content = doc.getRootElement();
    List<Element> myNeededElements = content.elements("neededElementName");

После этого в списке myNeededElements будут все элементы с нужным именем (скажем, "requiredElementName").

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