2016-04-28 150 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的實例。