2012-01-17 82 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一個。然而,從你的文章中完全不清楚你想要的輸入和輸出是什麼(或者無論如何,他們之間有什麼樣的關係)。

相關問題