2012-01-17 17 views
0

xmlファイルがあり、このようにtxtファイルでソートしたいJavaを使用してXMLファイルをソートする方法

サッカー|イギリス|プレミアリーグ|ブラックプールFC - バーミンガムシティ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

答えて

0

使用dom4j .ITは、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

ライブラリ/フレームワークを選択する際の柔軟なオプションがある場合、解決策の1つは、XStreamを使用してxmlをJavaオブジェクトのコレクションにデシリアライズしてemを並べ替えることです。例については

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

EDIT:また、以下のリンクをチェック:XMLファイルのソート

1)How to sort XML elements in Java?

2)XSLT Sort

0

は、一般的に行うことができますXSLTやXQueryのいくつかの行では、XSLTやXQueryを呼び出すには数行しかかかりませんa。しかし、あなたの希望する入力と出力が何であるか(またはどんな関係であっても、彼らがお互いに持っているものはあなたの投稿から全くわかりません)