複雑なオブジェクトを含む 2 つの xml を比較する必要があるという要件があります。コミットの前後に xml に変更があるかどうかを比較する必要があります。
比較するための最良かつ最も効率的な方法は何ですか、xmlunit APIを使用できません
<mf>
<df dimId="7" memberOnly="true">
<ml>
<m>
<value>2458989</value>
<hid>10005</hierarchyId>
<lid>51</levelId>
<display>5/19/20</displayValue>
</m>
</ml>
</df>
</mf>
このDOMParser parser = new DOMParser(); を試しました。
parser.parse(new StringReader(cd));
XMLDocument xmlDocument1 = parser.getDocument();
parser.parse(new StringReader(fromDb));
XMLDocument xmlDocument2 = parser.getDocument();
//XMLCompare xmlDiff=new XMLCompare();
XMLDiff xmlDiff = new XMLDiff();
xmlDiff.setDocuments(xmlDocument1, xmlDocument2);
xmlDiff.diff() //always returns true eventhough if we dont have any differences.
xmlUnit API を使用できません。これを修正するのを手伝ってください
<memberFilters>
<dimensionFilter dimId="7" memberOnly="true">
<memberList>
<member>
<value>2458989</value>
<hierarchyId>10005</hierarchyId>
<levelId>51</levelId>
<displayValue>5/19/20</displayValue>
</member>
</memberList>
<criteria>
<preSelectedMemberList>
<member>
<value>2458989</value>
<hierarchyId>10005</hierarchyId>
<levelId>51</levelId>
<displayValue>5/19/20</displayValue>
</member>
</preSelectedMemberList>
<Criterion>
<selection>Replace</selection>
<criterionByLevel>
<hierarchyId>10005</hierarchyId>
<levelId>10009</levelId>
<levelName>Period</levelName>
</criterionByLevel>
</Criterion>
<Criterion>
<selection>Replace</selection>
<criterionByMeasure>
<hierarchyId>10005</hierarchyId>
<levelId>51</levelId>
<levelName>Day</levelName>
<condition byValue="true" usePercent="false">
<conditionOp>AND</conditionOp>
<measureId>1522</measureId>
<measureName>value</measureName>
<compareOp>EQ</compareOp>
<value>0</value>
<roundDecimalDigits>0</roundDecimalDigits>
</condition>
</criterionByMeasure>
</Criterion>
</criteria>
</dimensionFilter>
</memberFilters>