我有一个Java对象,它输出我的xml数据。我的目标是删除阵列中的重复项,并按出生日期(最早的等)排序。目前我不知道如何执行这些操作。你们能帮忙吗?
最佳答案
使用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 ();
}
}
根据需要更改代码。