|
Модераторы: diadiavova |
|
Andrey1 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Привет,
Хочу все элементы *//X (<X attr="..."...>...</X>,...) xml файла "пропустить" через свою функцию и на выходе получить новый файл, но с преобразованными элементами. С помощью какого парсера проще всего сделать (на java)? Может проще использовать API к xslt процессору? Андрей -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 8 Всего: 537 |
Проще всего использовать 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. |
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Если размер фала невелик, то можно и DOM. Пример работы с DOM можно посмотреть тут: http://forum.vingrad.ru/index.php?showtopi...ndpost&p=407127
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Andrey1 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Можно ли с помощью DOM парсера "зарегистрировать" обработчик элемента? Тогда, если для всех остальных "зарегистрировать" обработчик, который просто выводит содержимое элемента, то тогда задача решалась бы очень просто...
Забыл, наверное сказать, что таких функций-обработчиков у меня - несколько. Поэтому хотелось бы как-то "проставлять" их действия в парсере. Это сообщение отредактировал(а) Andrey1 - 12.9.2005, 09:20 -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15709 Регистрация: 24.3.2004 Репутация: 8 Всего: 537 |
Нет, процесс парсинга в 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. |
|||
|
||||
batigoal |
|
|||
Нелетучий Мыш Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Да мне кажется, проще всего было бы с помощью XSLT...
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
Andrey1 |
|
|||
Опытный Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
Функция обработки - очень сложная. Парсеру (типа org.apache.xerces.parsers.SAXParser) можно проставить обработчик с помощью setContentHandler. --- Отлично! Saxon8 позволяет вызывать java функции из классов! Это сообщение отредактировал(а) Andrey1 - 12.9.2005, 15:31 -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
Правила форума "XML/XSLT" | |
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | XML, XSL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |