Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сравнить XML
 
 автор: Eugene77   (23.11.2008 в 09:06)   письмо автору
 
 

Не могу сообразить как сравнивать XML.
Точее, мне надо узнать: есть ли уже искомая XML в базе MySQL или ещё нет.
Как подойти к этой задаче?
Если хранить XML просто в виде текста, порядок следования атрибутов может оказаться иным - и я не получу соответствия, хотя атрибуты будут идентичными.
Или такая ситуация исключена в какой-либо из библиотек РНР?

Ещё тонкость в том, что коментарии не должны влиять на сравнение XML.
Но это можно решить: хранить рядом копию XML без коментариев.

Поделитесь, пожалуста, идеями!
Не могу пока сориентироваться как подойти к сравнению.
В каком формате лучше хранить XML в базе?

  Ответить  
 
 автор: Qiao   (24.11.2008 в 12:32)   письмо автору
 
   для: Eugene77   (23.11.2008 в 09:06)
 

Сравнивайте по названию. Вычлиняйте его (напр. по атрибутиву) и смотрите есть ли оно в других.

  Ответить  
 
 автор: Eugene77   (26.11.2008 в 17:52)   письмо автору
 
   для: Qiao   (24.11.2008 в 12:32)
 

Вы предлагаете выбрать все(!!!) XML из базы и потом рекурсивно их сравнивать?
Это дорогое удовольствие!
Мне нужно проверить больше сотни XML за секунду при том,что в базе их почти тысяча.
правда они не большие и без "шапок".

Если уж предельно аскетично программировать, то можно даже свести их к пустотелым тегам, которые ничего кроме атрибутов не содержат:

<main1 atr1="name1:value1;name2:value2"><sm1 a2="n1:v1;n2:v2" a3="n4:v5"></sm1><s2><s4></s4><s5></s5></s2></main1>

И тому подобное,но всё это в пределах нескольких десятков тегов, зато все с атрибутами. И атрибутов, как правило, несколько.

Может быть для моего случая, какой-нибудь формат таблицы можно изобрести?
Даже если грузить всю таблицу в скрипт, то хоть бы уж компактно...

Ещё трудностьв том,что скрипт не только читает таблицу, но и добавляет в неё записи.
Придётся что ли следить за синхронностью изменения таблицы и массива в оперативной памяти? Тогда только один скрипт остаётся запускать в один момент времени - тоже не слишком радует.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования