2016-04-28 125 views
1

我有一个xml包文件,我希望通读并比较包中的对象。开始位置将是mo标签,直到下一个mo标签。 我已经完成xmlunit但这比较了2个xml文件。我希望能够比较一个XML包文件中的对象。比较xml对象java

不知道这是否合理。如果需要更多信息,我可以尝试更多解释。

示例XML文件:

<mo>FIELD</mo> 
<pk1>DM_READEXTRACT</pk1> 
<bo>F1-FieldPhysicalBO</bo> 
<boData> 
    <field>DM_READEXTRACT</field> 
    <dataType>CHAR</dataType> 
    <isSigned>false</isSigned> 
    <isWorkField>false</isWorkField> 
    <version>9</version> 
</boData> 
<entities> 
    <processingSequence>560</processingSequence> 
    <sequence>560</sequence> 
</entities> 
<mo>FIELD</mo> 
<pk1>DM_READEXTRACT</pk1> 
<bo>F1-FieldPhysicalBO</bo> 
<boData> 
    <field>DM_READEXTRACT</field> 
    <dataType>CHAR</dataType> 
    <isSigned>false</isSigned> 
    <isWorkField>false</isWorkField> 
    <version>2</version> 
</boData> 
<entities> 
    <processingSequence>30</processingSequence> 
    <sequence>3</sequence> 
</entities> 

回答

0

XMLUnit也适用于Node s - 至少2.x。

通过查看你的例子,你想比较的不是一个合适的树,而是一个福雷斯特 - 没有任何其他所有人都是孩子的根元素。

您可以为每个想要比较的forrest(在测试和控制端)创建一个DocumentFragment,并将forrest的所有根添加到它 - 然后告诉XMLUnit在DocumentFragment上工作。您可以通过首先加载DOM Document然后调用createDocumentFragment来获得DocumentFragment的实例。