2012-01-17 77 views
0

我有一个xml文件,并且想要在txt文件中像这样排序如何使用java对XML文件进行排序

Soccer |英格兰|英超联赛|布莱克浦 - 伯明翰城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

“这样排序”是什么意思?你的XML文件是什么样的? – talnicolas 2012-01-17 14:02:22

回答

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列表中拥有所需的所有元素(称为“neededElementName”)。

0

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

对于防爆:

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

EDIT:同时检查下面的链接:

1)How to sort XML elements in Java?

2)XSLT Sort

0

排序XML文件一般可以完成在几行XSLT或XQuery中,调用XSLT或XQuery只需要几行Jav一个。然而,从你的文章中完全不清楚你想要的输入和输出是什么(或者无论如何,他们之间有什么样的关系)。

相关问题