У меня есть два XML-файлы, похожее на это:XSLT - Сравнение двух similarXML файлов
1.
<data>
<object ID="1">
<ID>1</ID>
<name>abc</name>
<weight>50</weight>
</object>
<object ID="2">
<ID>2</ID>
<name>def</name>
<weight>75</weight>
</object>
</data>
2.
<data>
<object ID="2">
<ID>2</ID>
<name>def</name>
<weight>75</weight>
</object>
<object ID="3">
<ID>3</ID>
<name>ghi</name>
<weight>100</weight>
</object>
</data>
А теперь я хочу, чтобы сравнить их. Либо с дополнительным элементом (что-то вроде обоих), либо с новыми файлами (in_both_files.xml, only_in_file1.xml, only_in_file2.xml). Я знаю, что XSLT не лучший для этого квеста, мне не хватает PHP/SQL ... Какой был бы лучший способ решить эту проблему? Я уже искал решение, но большинство людей, похоже, с удовольствием просто сливают его. Моя идея состояла в том, чтобы предоставить каждому объекту идентификатор как атрибут, а затем пройти первый файл и использовать document() и key() для поиска одного и того же объекта в другом файле. Это хорошо/возможно? Не работает до сих пор, и я не знаю, правильно ли это.
Редактировать: Это для инвентаризации. Один XML-файл - это объекты, которые мы имеем, в соответствии с системой, а другой - то, что действительно находится на складе. Поэтому, если один объект появляется в обоих списках, они имеют абсолютный одинаковый идентификатор, имя, вес и т. Д. Но идентификатор - это единственное, абсолютное уникальное для каждого объекта (но, конечно, должно быть в обоих файлах). Поэтому мне нужно знать, какой объект находится на складе, но не в системе, поэтому я могу импортировать их, а какие - в систему, но не в депо, и поэтому должен быть labeld как «потерянный».
Так что их слияние, не поможет ...
В результате, как
only_in_system.xml
<data>
<object>
<ID>1</ID>
<name>abc</name>
<weight>50</weight>
</object>
</data>
only_in_depot.xml
<data>
<object>
<ID>3</ID>
<name>ghi</name>
<weight>100</weight>
</object>
</data>
(additional) everything_is_ok.xml
<data>
<object>
<ID>2</ID>
<name>def</name>
<weight>75</weight>
</object>
</data>
было бы хорошо! Кроме того, можно использовать более индивидуальные трансморкции (и я думаю, придется) в ряд!
Будет ли слияние файлом с идентификатором объекта 2 не дублироваться? –
Можете ли вы определить точные правила такого сравнения, пожалуйста? Если только проверка того, что '