1

xmlデータを出力するJavaオブジェクトがあります。私の目標は、配列内の重複を削除し、生年月日(最も古いものから順に並べ替えるなど)で並べ替えることです。現在、それらを実行する方法がわかりません。手伝ってもらえますか?

4

2 に答える 2

2

JAXBこのXMLをJavaオブジェクトに変換するために使用します。そして、インターフェースを実装することにより、独自の基準に基づいてそれらをソートできComparableます。

編集:XSDを使用している場合は、xjcコンパイラを使用してxsdをJavaクラスに変換します。そして、それらのクラスをJAXBで使用します。

ステップ1 :

xjcコマンドを使用して、xsdからJavaクラスを作成します。xsdが保存されているディレクトリに移動します。そして、コマンドプロンプト/ターミナルを開き、コマンドの下で起動します。

xjc your_xsd.xsd

一部のクラスはディレクトリに生成されます。すべてが必要なわけではありませんが、xmlノードを示すために使用されるメンバー変数を持つものが重要です。それをプロジェクトのsrcファイルにコピーします。クラス名が。であるとしDataDocumentます。

そして、非マーシャライズを行うJavaクラスは次のようになります。

public static void main (String [] args) {
    try {
        File xmlFile = new File("your_xml_file.xml");
        JAXBContext jaxbCtx = JAXBContext.newInstance(DataDocument.class);
        Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
        DataDocument dataDocument = (DataDocument) unmarshaller.unmarshal(xmlFile);
        System.out.println("data document is : " + dataDocument);
    } catch (JAXBException e) {
       e.printStackTrace ();
    }
}

必要に応じてコードを変更します。

于 2013-03-13T10:32:42.780 に答える
0

Castor Frameworkを使用して、XMLからJavaオブジェクトに変換できます。

于 2013-03-13T10:58:34.303 に答える