1

バンドル内のオブジェクトを読んで比較したい xml バンドル ファイルがあります。開始位置はmo、次のタグまでのタグになりmoます。私はやっxmlunitたが、これは2つのxmlファイルを比較しています。1 つの 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(テスト側とコントロール側の両方で) 比較したい各フォレストを作成し、それにフォレストのすべてのルートを追加してから、XMLUnit にDocumentFragments で動作するように指示することです。DocumentFragment最初に DOMDocumentをロードしてから呼び出すことで、 のインスタンスを取得できますcreateDocumentFragment

于 2016-04-28T14:59:19.277 に答える