Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как "прогнать" содержимое элементов через функцию, чтоб как можно по-проще 
:(
    Опции темы
Andrey1
  Дата 9.9.2005, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Привет,

Хочу все элементы *//X (<X attr="..."...>...</X>,...) xml файла "пропустить" через свою функцию и на выходе получить новый файл, но с преобразованными элементами.

С помощью какого парсера проще всего сделать (на java)?

Может проще использовать API к xslt процессору?


Андрей


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
LSD
Дата 9.9.2005, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 8
Всего: 537



Цитата(Andrey1 @ 9.9.2005, 22:17)
С помощью какого парсера проще всего сделать (на java)?

Проще всего использовать SAX (в состав JRE уже входит SAX парсер).


--------------------
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.
PM MAIL WWW   Вверх
batigoal
Дата 11.9.2005, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


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

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



Если размер фала невелик, то можно и DOM. Пример работы с DOM можно посмотреть тут: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=407127


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Andrey1
Дата 12.9.2005, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Можно ли с помощью DOM парсера "зарегистрировать" обработчик элемента? Тогда, если для всех остальных "зарегистрировать" обработчик, который просто выводит содержимое элемента, то тогда задача решалась бы очень просто...

Забыл, наверное сказать, что таких функций-обработчиков у меня - несколько. Поэтому хотелось бы как-то "проставлять" их действия в парсере.

Это сообщение отредактировал(а) Andrey1 - 12.9.2005, 09:20


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
LSD
Дата 12.9.2005, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15709
Регистрация: 24.3.2004

Репутация: 8
Всего: 537



Цитата(Andrey1 @ 12.9.2005, 09:50)
Можно ли с помощью DOM парсера "зарегистрировать" обработчик элемента?

Нет, процесс парсинга в DOM модели не управляем. Ты просто получаешь на выходе дерево DOM, а дальше уже можешь с ним работать как хочешь. Можешь пройтись по нему и изменить так как тебе надо, а потом перегнать в XML.

Но для твоей конкретной задачи, SAX лучше подходит.


--------------------
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.
PM MAIL WWW   Вверх
batigoal
Дата 12.9.2005, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


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

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



Да мне кажется, проще всего было бы с помощью XSLT...


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Andrey1
Дата 12.9.2005, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Lamer @ 12.9.2005, 09:18)
Да мне кажется, проще всего было бы с помощью XSLT...

Функция обработки - очень сложная.

Парсеру (типа org.apache.xerces.parsers.SAXParser) можно проставить обработчик с помощью setContentHandler.

---

Отлично! Saxon8 позволяет вызывать java функции из классов!

Это сообщение отредактировал(а) Andrey1 - 12.9.2005, 15:31


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


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

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


 




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


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

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