1

我有一个 java 对象,它输出我的 xml 数据。我的目标是删除数组中的重复项并按出生日期排序(最早的等)目前我不知道该怎么做。你们能帮忙吗?

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 框架将 XML 转换为 Java 对象

于 2013-03-13T10:58:34.303 回答