Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XML и гемопрный парс, Из ФАКа подсмотрел пример работы 
V
    Опции темы
Platon
Дата 30.11.2007, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Здравствуйте, уважаемые.
Сабж: Парсинг XML с помощью SAX парсера
Вот скажите мне, что так сложно???
В PHP есть 1 функция, которая выводит результат в виде hash массива, и к элементам очень просто обратиться:
Код

$xml["internetshop"]["goods"]["orderedgoods"]["paidgoods"][0/1/2/3/4/5/...]


А тут, такой парс, просто атас, я не представляю, как вложенные теги разбирать :(

Добавлено через 4 минуты и 51 секунду
хммммм, не DOM парсер ли мне подходит?
PM MAIL ICQ   Вверх
Hidrag
Дата 30.11.2007, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 3
Всего: 25



Если xml не многомегабайтовый то используй DOM. Мне он показался куда более удобным и логичным. Скачай вот этот файлик он тебе поможет!


--------------------
user posted image
PM WWW ICQ   Вверх
makados
Дата 30.11.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 86
Регистрация: 2.10.2007
Где: Киев

Репутация: нет
Всего: 1



может попробовать JDOM - оптимизированный под джавистов DOM-парсер?
PM MAIL WWW ICQ Skype   Вверх
Platon
Дата 30.11.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



А у них разница есть? я думал это одно и то же.

Добавлено @ 18:09
Хочется узнать, какая между ними ощутимая разница.
Главный критерий - быстрая работа, и можно без наворотов.

Это сообщение отредактировал(а) Platon - 30.11.2007, 18:10
PM MAIL ICQ   Вверх
nornad
Дата 1.12.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

Репутация: 16
Всего: 31



Цитата(Platon @  30.11.2007,  21:05 Найти цитируемый пост)
Хочется узнать, какая между ними ощутимая разница.

DOM - загрузка всего хмл-файла в память и составление дерева элементов. После распарсивания хмл ты уже будешь работать с деревом.
SAX - событийная обработка хмл, когда парсер распознаёт очередной элемент хмл и генерирует соответствующее событие. Ты это событие ловишь (или не ловишь  smile ) и производишь необходимые тебе действия. В памяти при этом нет полного дерева хмл.

Цитата(Hidrag @  30.11.2007,  20:08 Найти цитируемый пост)
используй DOM. Мне он показался куда более удобным и логичным. 

Удобство и логичность - вещи субъективные. Сакс тоже удобен и логичен, если уметь им пользоваться.

Один из критериев выбора DOM / SAX состоит в определении того, с файлами какого объёма придётся работать парсеру. Натравливать DOM-парсер на хмл размером под гигабайт - дело очень несерьёзное, даже если у тебя есть серверный кластер высокой мощности.
Кроме того, часто хмл парсится не "просто так", а с целью обработки некоторых определённых его узлов - например, когда хмл используется для передачи данных в программу извне. В этом случае событийная модель SAX очень даже удобна.


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
Platon
Дата 1.12.2007, 01:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Отлично я так и думал, значит DOM мне вполне подойдет.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0583 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.