Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用反射比较两个XML-Java元素_Java_Xml_Algorithm_Reflection - Fatal编程技术网

使用反射比较两个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 > 拆散后,我会有一个对象->

我有两个大的XML文件,每个XML文件都有Java类

我现在做的是:

  • 使用JAXB解组XML文件

  • 我最终有两个类,我可以使用它们来获取整个文件(所有类/标记)

课程结构如何:

例如,使用这个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你所说的结果到底是什么意思?你能为你的问题提供一个输入和输出的具体例子吗?