私は正常にXmlUnitを試しています。さて、私は少し問題がある、私は解決する方法がわからない。私はセットを持っているJavaクラスを持っており、それをXMLに変換するとき、内部の要素は任意の順序を持つことができます。類似したxmlファイルとXmlUnitとを、順序付けられていないタグ(属性が異なる同じタグ名)と比較する。
私はそれが動作XmlUnitでこれらの2つのファイル(差分は、彼らが似ていると言っている)してみてください:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptorA name="netInput_mynetwork"></MeasureDescriptorA>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
<MeasureDescriptorA name="netInput_mynetwork"></MeasureDescriptorA>
</AvailableMeasures>
</Monitor>
をしかし、タグは(異なる属性を持つ)同じ名前を持っている場合、それはありません(それが属性をミックスし、他のタグに1を期待して)仕事:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
<MeasureDescriptor name="netInput_mynetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Monitor>
<AvailableMeasures>
<MeasureDescriptor name="netInput_mynetwork"></MeasureDescriptor>
<MeasureDescriptor name="netInput_myothernetwork"></MeasureDescriptor>
</AvailableMeasures>
</Monitor>
は、任意の回避策はありますか?
私は、コードのこの作品で、自分で解決策を見つけた: \t \tデフデフ=新デフ(controlXml、のresponseXML)。 \t \t diff.overrideElementQualifier(new ElementNameAndAttributeQualifier()); されています;) – greuze
あなた自身で質問への回答を投稿し、その回答を受け入れることができますか?また、問題を解決する場合は、以前の質問に対する回答を受け入れる必要があります。 – Zecas
私は自分の質問に答えられないと思った。私は今自分自身に答えるだろう。 – greuze