| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > сравнить 2 .xml файла |
| Автор: Samotnik 3.1.2008, 19:37 | ||||
| как возьмем тривиальный пример 1.xml
2.xml
как средствамі java сказать , что эті файлы одінаковы ??? |
| Автор: sith 3.1.2008, 19:45 |
| ... хм... интересная задача... можно попробывать отпарсить эти файлы с помощью DOM и сравнить их... да и что значит равны ли xml документы? равенство узлов и значени... или полностью текста...? |
| Автор: nornad 3.1.2008, 20:06 |
| Можно сделать иначе. Пройтись по тексту обоих файлов и заменить пустые теги на вариант <b/>. Сразу же убрать и переводы строк, а множественные "пробелы" заменить на одиночный пробел (тут есть явная дырка, но в определённых условиях на неё можно не обращать внимания). После этого можно просто сравнить два файла. Хотя нет, если узлы будут в разной последовательности идти, то не сравнится Тогда да, ДОМ. Грузим оба хмла. Потом идём по одному и для каждого узла ищем соответствующий в другом дереве. Если нет - не совпали, если есть, но иные данные - не совпали. Если совпали выбрасываем из второго дерева найденный узел и идём дальше. В конце надо глянуть на второе дерево - если узлов не осталось - совпали, если что-то есть - деревья отличались. Добавлено через 36 секунд Только я не понял, причём тут ЕЕ? |
| Автор: Samotnik 3.1.2008, 20:33 |
| sith, nornad, пасибо, наверное это единственный способ! DOM, действительно... |
| Автор: v2v 4.1.2008, 21:14 | ||||
| а что значит одинаковы? если в первом
а во втором:
Это считается одинаковым?,думаю всё таки правильней - это парсить, и сравнивать значения всех полученных элементов). |
| Автор: nornad 4.1.2008, 22:42 |
| Ну мы про то и говорили вообще-то |