如何使用java对XML文件进行排序

时间:2012-01-17 14:00:59

标签: java xml xml-parsing

我有一个xml文件,想要在txt文件中进行排序

足球|英格兰|英超联赛|布莱克浦足球俱乐部 - 伯明翰城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 :(得分:0)

使用dom4j。这是一个使用xml文件的好库 您可以从here下载。

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

在此之后,您将在myNeededElements列表中拥有所需名称的所有元素(例如“requiredElementName”)。

答案 1 :(得分:0)

如果您在选择库/框架时有灵活的选择,其中一个解决方案是使用XStream并将xml反序列化为java对象的集合并对其进行排序。

对于Ex:

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

编辑:另请查看以下链接:

1)How to sort XML elements in Java?

2)XSLT Sort

答案 2 :(得分:0)

对XML文件进行排序通常可以在几行XSLT或XQuery中完成,而调用XSLT或XQuery只需要几行Java。但是,从你的帖子中完全不清楚你想要的输入和输出是什么(或者无论如何,它们彼此之间有什么关系。)