Я использую xmlunit 2.2.1 с Java и имею следующие XML-файлы для соответствия. Проблема здесь двоякая:Соответствующие вложенные элементы с разным порядковым номером и номером
- порядок не то же самое
- некоторые из численных значений может иметь замыкающие нули (например,
0.250000
)
По этой причине ByNameAndTextRecSelector()
не работает, потому что требует, чтобы все текстовые узлы были точными совпадениями, что здесь не так. Я уже реализовал DifferenceEvaluator
, который позаботится о конечных нулях в числах. Но что я использую для выбора правильных элементов для сравнения?
XML 1:
<test>
<table>
<row>
<element>
<code>ALPHA</code>
<scale>0.25</scale>
</element>
</row>
<row>
<element>
<code>DELTA</code>
<scale>0.1</scale>
</element>
</row>
</table>
</test>
XML 2:
<test>
<table>
<row>
<element>
<code>DELTA</code>
<scale>0.1</scale>
</element>
</row>
<row>
<element>
<code>ALPHA</code>
<scale>0.2500000</scale>
</element>
</row>
</table>
</test>
«код» недостаточно, мне также понадобится «шкала». Как мне совместить эти два? Я использую 'и' и помещаю это внутри' thenUse'? – Roland
Это похоже на работу: 'и (byXPath (" ./ element/code ", byNameAndText), byXPath (" ./ element/scale ", новый SelectorByNameAndNumber()))' – Roland
'и' должны были работать, если вы хотите чтобы они также были отделены друг от друга. Рад, что это сработало. –