Russian Qt Forum
Июнь 16, 2024, 18:15 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Сравнение 2х QDomDocument  (Прочитано 5261 раз)
serjjj
Гость
« : Июль 30, 2011, 00:31 »

Есть 2 QDomDocument можно ли как-нибудь определить их идентичность?
Записан
Fess
Гость
« Ответ #1 : Июль 30, 2011, 19:36 »

Для начала опишите по каким _критериям_ вы определяете идентичность двух документов.
Например:
Идентичны, если их текст на 90% совпадает.
Идентичны, если имеют схожую структуру.
Я полагаю, речь идет о нечетком сравнении документов?
В свое время использовал вот такой подход: http://habrahabr.ru/blogs/algorithm/65944/
Если заинтересуют, могу кое-чем помочь.
Записан
serjjj
Гость
« Ответ #2 : Июль 31, 2011, 22:33 »

Меня интересует полное совпадение 2х документов. Т.е. 100% все узлы со всем их содержимым должны совпасть. Сейчас я делаю toByteArray 2х документов и выхлоп сравниваю. Проблема в том, что при некоторых условиях одинаковые документы по разному преобразуются. Например пустой элемент может быть <tag/>, а может быть <tag></tag> со всеми вытекающими.
Записан
Fess
Гость
« Ответ #3 : Август 01, 2011, 04:44 »

А QDomDocument у вас читает оба варианта? Вроде бы он уверенно читает только валидные xml..
Может прогонять сначала через валидатор, а затем сравнивать?
http://tidy.sourceforge.net/
Записан
serjjj
Гость
« Ответ #4 : Август 02, 2011, 23:34 »

Все документы валидные. Например, если из файла считать <tag></tag>, то после toByteArray он станет <tag/>. А если программно создать элемент tag, и в него добавить пустой текстовый элемент то после toByteArray получиться <tag></tag>.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 20.