使用反射比较两个XML-Java元素
我有两个大的XML文件,每个XML文件都有Java类 我现在做的是:使用反射比较两个XML-Java元素,java,xml,algorithm,reflection,Java,Xml,Algorithm,Reflection,我有两个大的XML文件,每个XML文件都有Java类 我现在做的是: 使用JAXB解组XML文件 我最终有两个类,我可以使用它们来获取整个文件(所有类/标记) 课程结构如何: 例如,使用这个xml文件 <GRANDFATHER ID="1" NAME="Hallo"> <\FATHER> <SON> <\SON> <\FATHER> </GRANDFATHER > 拆散后,我会有一个对象->
- 使用JAXB解组XML文件
- 我最终有两个类,我可以使用它们来获取整个文件(所有类/标记)
<GRANDFATHER ID="1" NAME="Hallo">
<\FATHER>
<SON>
<\SON>
<\FATHER>
</GRANDFATHER >
拆散后,我会有一个对象->祖父
有了这个东西,我可以成为祖父
然后从FATHER.getSON开始,我现在需要通过ID将每个对象与另一个对象进行比较
因为有这么多的类,这将是一个巨大的硬编码量
所以我想我可以通过思考来做到这一点。我试过了,但找不到办法。
有什么想法吗?如果您有一个系统或算法,我将非常感谢。Google的“java比较java beans”找到了许多方法。如果您不想要不同属性/属性的列表,只需检查两个xml文件是否相等,为什么不为每个类重写
equals
,以便通过ID比较这些类?如果您想要实现相同的目标,也可以使用自定义比较器。JaxB并不是一个真正的解决方案。最好使用Sax解析器并直接匹配内容。否则,您必须自己创建一个对象,通过每个元素在istelf上递归,并对照第二个jaxb对象检查它。大多数情况下,我建议使用xml路径为您进行验证。@Daniel我需要将结果写在一个文档中。csv@WarGodNT你所说的结果到底是什么意思?你能为你的问题提供一个输入和输出的具体例子吗?