DiffBuilder
XMLUnit-2を使用して以下を使用しました
diff = DiffBuilder.compare(control).withTest(test).checkForSimilar()
.normalizeWhitespace().ignoreComments()
.ignoreWhitespace().ignoreElementContentWhitespace()
.withNodeFilter(node -> (filter(node, attrsToIgnore)))
.withAttributeFilter(fields -> (filterFields(fields, fieldsToIgnore)))
.withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndText)).build();
以下に示すように、List<>
値またはランダム値をシャッフルするのに適していますList<>
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ResourceObject PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<ResourceObject displayName="aggaccnm1" identity="U013JFHQ59D" objectType="account">
<Attributes>
<Map>
<entry key="costCenter" value="1111"/>
<entry key="department" value="QA"/>
<entry key="displayName" value="AggACCDN1"/>
<entry key="groups">
<value>
<List>
<String>S013J6S7STH</String>
<String>S013S71EMLN</String>
<String>S013S71GTU6</String>
</List>
</value>
</entry>
</Map>
</Attributes>
</ResourceObject>
しかし、List < Map {} >
失敗した場合..値のランダムな順序とList<String>
値の順序の両方を処理するにはどうすればよいでしょうかList < Map {} >
。
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ResourceObject PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<ResourceObject displayName="aggaccnm1" identity="U013JFHQ59D" objectType="account">
<Attributes>
<Map>
<entry key="costCenter" value="1111"/>
<entry key="department" value="QA"/>
<entry key="displayName" value="AggACCDN1"/>
<entry key="groups">
<value>
<List>
<String>S013J6S7STH</String>
<String>S013S71EMLN</String>
<String>S013S71GTU6</String>
</List>
</value>
</entry>
<entry key="groups_objects">
<value>
<List>
<Map>
<entry key="display" value="Agggrp1"/>
<entry key="value" value="S013S71EMLN"/>
</Map>
<Map>
<entry key="display" value="Agggrp5"/>
<entry key="value" value="S013S71GTU6"/>
</Map>
<Map>
<entry key="display" value="Agggrp7"/>
<entry key="value" value="S013S71HVU6"/>
</Map>
</List>
</value>
</entry>
</Map>
</Attributes>
</ResourceObject>
上記の例ではList < Map {} >
、私と上記の実装が単純な場合はうまく機能していますList<>
が、List < Map {} >
両方の順序を無視したいのですが、これを達成する方法を教えてください。
ありがとう、
スワプニル。