![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Wardrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.10.2011 Репутация: нет Всего: нет |
Ребятки,спасайте,не работает(.Задача такая - пройтись по вложенным тегам и спарсить их в аррайлист в виде полей одного объекта.Допустим,такой пример:
<myentry> <id>1</id> <name>Sergei</name> <address>Roy Street</address> <tel>55547458</tel> </myentry> Всё что между <myentry> и </myentry> нужно сохранить в аррайлист.Я решил воспользоваться сакспарсером,так как он показался мне куда проще чем остальные.Код для удобочитаемости закинул сюда: http://pastebin.com/hjutKAAP В течение парсинга он должен сохранять каждый новый объект после срабатывания нового события,но этого не происходит.Проблема возникла определить,где заканчивается нужный мне myentry,поэтому я закинул проверку в обработчик EndElement.Мб ещё какие-то варианты есть для решения,казалось бы,ну тривиальнейшей задачи ? Переделывать уже жутко неохота,а разобраться надо. Это сообщение отредактировал(а) Wardrag - 19.10.2011, 11:56 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Если коротко, то все неправильно
![]() -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Wardrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.10.2011 Репутация: нет Всего: нет |
||||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Я вообще про наш FAQ говорил. Как минимум у тебя неправильный endElement(). Плюс в примере и у тебя неправильный characters().
В characters() надо накапливать символы в буффер, а уже в endElement() присваивать конкретному полю. Добавлено через 2 минуты и 23 секунды Ну и конечно хранить список всех объектов в самом объекте это конечно оригинально ![]() -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Wardrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.10.2011 Репутация: нет Всего: нет |
Эх,лучше в лс отпишу)
Это сообщение отредактировал(а) Wardrag - 19.10.2011, 16:16 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Wardrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.10.2011 Репутация: нет Всего: нет |
Ох,интересно получилось )).А если нужно какой-то вложенный тег ещё и параллельно искать (взависимости от введенной команды в консоли,например,link 'http://ссылка' в консоли) ? Ведь это же каждый раз надо будет определять как-то,ввёл ли пользователь аргументы или нет,сколько их и производить поиск значения аргумента.Я понимаю,как это реализовать,но не понимаю,как это связать с парсингом,ведь он автоматом всё делать будет,т.е. отдельный метод в парсер не добавишь,он не будет вызван....? Если бы был свой owned парсер,то на вход функции поиска можно было бы передать аргументы и значения,какие надо искать,а как сделать здесь?(
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Что мешает добавить в SAXHandler дополнительную логику, чтобы он искал только теги с заданным именем, а все остальные ингорировал?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Welemir |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 11.8.2009 Репутация: нет Всего: нет |
Это сообщение отредактировал(а) Welemir - 24.10.2011, 14:13 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Если у тебя есть XML, и надо последовательно выполнять к нему запросы. То имеет смысл распарсить его один раз в DOM, а дальше или вручную проходится по нему, или использовать XPath.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Wardrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.10.2011 Репутация: нет Всего: нет |
Так почему не работает то ?
|
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Не работает что?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Wardrag |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 19.10.2011 Репутация: нет Всего: нет |
Ладно,не важно ).Проблему оставил другим решать,больше мучить не буду.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |