1

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

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

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>
4

2 回答 2

0

也许尝试将 XML 解组为 java 对象然后进行比较? http://www.mkyong.com/java/jaxb-hello-world-example/

于 2016-04-28T11:16:03.483 回答
0

XMLUnit 也适用于Nodes - 至少 2.x 可以。

通过查看您的示例,您要比较的不是一棵正确的树,而是一棵阿甘——没有所有其他人都是子元素的根元素。

您可以做的是DocumentFragment为您要比较的每个 forrest(在测试和控制方面)创建一个,并将您的 forrest 的所有根添加到它 - 然后告诉 XMLUnit 在DocumentFragments. DocumentFragment您可以通过首先加载 DOMDocument然后调用createDocumentFragment它来获取 a 的实例。

于 2016-04-28T14:59:19.277 回答