| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Получение имени вложенного тега в xml |
| Автор: Grelloo 24.6.2006, 13:11 | ||||
Есть xml-файл
Значение второго тега получаю следующим образом:
Надо получить имя второго тега, зная имя первого |
| Автор: LSD 24.6.2006, 14:01 | ||
|
| Автор: Grelloo 24.6.2006, 14:57 | ||
| В стоке Выдает исключение
|
| Автор: LSD 24.6.2006, 15:11 | ||
Убери кастинг:
P.S. Какая у тебя Java? |
| Автор: Grelloo 24.6.2006, 16:13 |
| 1.5.06 |
| Автор: LSD 24.6.2006, 17:11 |
Ну тогда вообще не понимаю, откуда ошибки. Я запускаю на 1.5.0_1. Добавлено @ 17:16 Тем более что класс com.sun.org.apache.xerces.internal.dom.DeferredTextImpl реализует org.w3c.dom.Element. |
| Автор: Grelloo 25.6.2006, 21:38 | ||||
| Поэксперементировал, получил следующее: Вот в таком xml можно получить T2
А в таком нет
Получается парсер не переваривает симолы переноса строки? |
| Автор: batigoal 26.6.2006, 10:03 | ||
нет, просто ты не свосем корректно парсишь. Перенос строки - это тоже текст, поэтому он воспринимает
как узел + текст (перенос строки) + вложенный узел. В свойствах парсера можно установить ignore whitespaces. |
| Автор: Grelloo 26.6.2006, 11:01 |
| Я не могу найти как установить ignore whitespaces В DocumentBuilderFactory есть метод setIgnoringElementContentWhitespace, но он не работает |
| Автор: batigoal 26.6.2006, 12:53 |
| Хм, вроде у меня работал, но точно не вспомню. Тогда подправь немного код, чтобы пропускать узел, если он текстовый. |
| Автор: Grelloo 26.6.2006, 13:42 |
| Получается, что каждый узел надо проверять текстовый он или нет. Не дело это. Может есть другие варианты? |
| Автор: batigoal 28.6.2006, 08:17 |
А почему? |
| Автор: LSD 28.6.2006, 22:12 | ||
Не знаю, но так написано в JavaDoc к методу setIgnoringElementContentWhitespace():
|