从数组中删除重复项并按某种方式排序

时间:2013-03-13 10:28:23

标签: java xml

我有一个java对象,它输出我的xml数据。我的目标是删除数组中的重复项并按出生日期排序(最早的等等)。目前我还没有想法,如何做到这一点。你们能帮忙吗?

2 个答案:

答案 0 :(得分: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 ();
    }
}

根据您的需要更改代码。

答案 1 :(得分:0)

您可以使用Castor Framework从XML转换为Java对象