Название: DOM Отправлено: acidburst от Декабрь 03, 2011, 20:49 Доброе время суток.
Посмотрите пожалуйста, попытался написать свой первый небольшой парсер. Но чето мне кажется совершенно не разумно он написан, но работает Код
сама xml-ка Код
че тут не так, может кто подскажет? и еще, как лучше передавать результаты, переменными, либо массивом каким...? Название: Re: DOM Отправлено: trot от Декабрь 04, 2011, 12:23 Почему не разумно?
Сама структура документа вся хранится в памяти, поэтому можно сразу адресоваться к нужному тэгу, если у него задан Id, или отобрать все тэги с определенным именем, если имя тэга уникально, то соответственно будет найден один узел. Может нет особого смысла перебирать тэги, путем обхода структуры документа, чтобы найти нужный и это вы считаете не разумным подходом. Название: Re: DOM Отправлено: acidburst от Декабрь 04, 2011, 12:37 Неразумным я посчитал то, что количество текста на парсер превышает количество в самом xml файле. А так да, мне все не нужно, нужно лишь значения row и cachedUntil. Но так как это мой первый опыт, захотел посмотреть все.
Может быть както разумнее при парсинге всей xml-ки пользоваться рекурсией, или я не знаю, какойто другой волшебной палочкой или бубен какой существует хороший, проверенный. Название: Re: DOM Отправлено: Bepec от Декабрь 05, 2011, 07:31 Есть стандартный Qt парсер DOM.
QXmlDefaultHandler. Подстраивается как тебе удобно, сам пользовался пару раз (просто тестировал его). Название: Re: DOM Отправлено: acidburst от Декабрь 09, 2011, 08:42 Есть стандартный Qt парсер DOM. можно ли где-то посмотреть пример его использования?QXmlDefaultHandler. Подстраивается как тебе удобно, сам пользовался пару раз (просто тестировал его). Название: Re: DOM Отправлено: Bepec от Декабрь 09, 2011, 08:54 Qt\4.7.2\examples\xml\saxbookmarks\
В примерах лежит, раздел XML. Так же ассистант имеет целую статью по нему. На первый взгляд слишком громоздко, много непонятного, но вникнув можно в принципе парсить всё. PS пытался им парсить страницы ботом. Потом оказалось, что для этих целей JavaScript лучше. Название: Re: DOM Отправлено: acidburst от Декабрь 10, 2011, 10:15 Я может что-то не правильно понимаю, но sax как бэ не тоже самое что и dom на мой взгляд.
Тут точно нет ошибки? Название: Re: DOM Отправлено: Bepec от Декабрь 13, 2011, 07:50 Дом в принципе та же последовательная структура. Не спорю, что для его работы нужно чуть чуть изменить, но в результате это будет лучше, чем ничего :)
Название: Re: DOM Отправлено: trot от Декабрь 13, 2011, 18:11 Технология SAX и DOM парсинга XML документа отличаются друг от друга тем, что первая открывает XML файл и последовательно перебирает теги, а вторая закачивает весь XML документ в память и строит его DOM модель, что позволяет далее сразу находить нужный тег. Если вам нужно перебрать все теги, то первый способ это сделает быстрее, а если вы хотите произвольным образом или выборочно обрабатывать документ, то второй способ более удобен, но в этом случае будьте готовы ожидать определенное время на формирование DOM модели в памяти.
|