|
|
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Есть XML: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Хочу пройти начиная с рута до последнего ребенка. Делаю так: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Как в этой модели добратся до элементов address country city? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 10:43:42 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
NodeList SubnodeList = el.getChildNodes(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 12:01:49 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Лагман, el.getChildNodes не дает дочерний элемент если хочу спустится на 2 уровня. То есть пройти могу только из addresses в address и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 12:10:54 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI, У вас там написано Root .getChildNodes();, получается что Вы вместо детей элемента опять перебираете детей корневого элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 12:17:00 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI Код: java 1. вместо for можно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 13:24:57 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Petro123, Пробовал заменять for на: Код: java 1. 2. 3. 4. 5. Получаю только ress: address ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 16:23:50 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI, у тебя неверный XML. Нет корневого root ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 17:22:35 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI, А это точно не зацикливается? ErikI Код: java 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 17:39:12 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Лагман, Точно, что зацикливается! Но как пройтись по элементам я так и не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 17:52:28 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI, Ну вам надо повнимательнее прочитать свой код и документацию к методам вот тут например написано: Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 18:02:06 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI, Возможное решение Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 21:17:44 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Usman, В примере используется константа /addresses/address, что нет никакой возможности просто дойти до 3 уровня вложенности? Я делал парсил XML в Delphi используя стандартную com библиотеку, там я без проблем мог вызвать несколько раз Child. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.08.2012, 23:46:17 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI, Тащемта, здесь тоже самое только вы методы и переменные путаете. Выглядеть будет как-то так (не проверял) Код: java 1. 2. 3. 4. 5. 6. 7. А вообще если это не учебные развлечения, посмотрите xpath, там путь к узлу можно указывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 02:25:36 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikIчто нет никакой возможности просто дойти до 3 уровня вложенности? Вариантов несколько. Но я предпочитаю этот. Советую прочитать про XPath . ErikIпарсил XML в Delphi используя стандартную com библиотеку Парсила за Вас та самая com библиотека. А Вы сделали всего лишь обход по узлам (Node'ам). Не путать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 03:44:46 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikI, Отличное решение. (Десериализация) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 08:47:13 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Usman, Может быть ваше решение мне подойдет, надо подумать. Только у меня это не единственный фаил. Если еще 2 таких же, структура у них одинакова, но поля называются по другому. Можите уточнить для чего служат эти определния: Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 16:59:20 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikIЕсть XML: Хочу пройти начиная с рута до последнего ребенка. Как в этой модели добратся до элементов address country city? Документ - типичная плоская реплика таблицы из базы. Тебе здесь DOM вообще не нужен. DOM-это тяжёлая артиллерия. Его применяют когда нужна корректировка и сохранение или еще что-то в проивозльном порядке. Для твоей задачи достаточно использовать javax.xml.stream.XMLInputFactory и javax.xml.stream.XMLStreamReader. Примеров использования - много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 17:11:48 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
ErikIЕсли еще 2 таких же, структура у них одинакова, но поля называются по другому. Если структура у них одинаковая, то достаточно изменить поле name в аннотациях ErikIМожите уточнить для чего служат эти определния @XmlRootElement(name="address") - Аннотация "Корневой элемент" (который может быть и узлом) с именем <address> @XmlType(propOrder = {"country", "city", "street"}) - Указание порядка следования свойств (узлов) P.S. За подробностями в документацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 17:20:32 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Лагман, Двумя циклами удалось получить все необходимые данные. Фактически я пишу первую программу на java, так что извините за бестолковые вопросы. Сейчас я часто получаю из getNodeName #text Конечно я могу просто тупо поставть if и если переменная текст то пропускать. Есть более правильное решение? Пробовал rec.getNodeType() == Node.ELEMENT_NODE, но она дает истину на элементах #text. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 17:52:50 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
И еще одна странность вызываю функцию getNodeValue получаю всегда NULL хотя в XML значения указаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 18:08:16 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Есть такая клвая штука в java, называется дебаггер, всем советую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 18:15:15 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
забыл никЕсть такая клвая штука в java, называется дебаггер, всем советую Есть ещё много всяких штук которые автору предстоит для себя открыть. Среди них нормальные браузеры, нормальные DOM API парсеры (jdom, dom4j) и ещё более нормальные не DOM парсеры (StAX, Digester). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 18:21:16 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
Blazkowiczзабыл никЕсть такая клвая штука в java, называется дебаггер, всем советую Есть ещё много всяких штук которые автору предстоит для себя открыть. Среди них нормальные браузеры, нормальные DOM API парсеры (jdom, dom4j) и ещё более нормальные не DOM парсеры (StAX, Digester). Ну я с вами соглашусь, но не все же сразу. Для начинающего ваши слова выглядят как минимум как заклинание, а то еще того хуже - ругательством! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 18:24:21 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
забыл никНу я с вами соглашусь, но не все же сразу. Для начинающего ваши слова выглядят как минимум как заклинание, а то еще того хуже - ругательством! Когда я был начинающим я слегка попух от того как выглядит родной DOM API и в первую очередь переключится на JDOM. А уже во вторую очередь на Digester, когда входящие файлы выросли до 20Мб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 18:27:19 |
|
||
|
DOM парсинг XML
|
|||
|---|---|---|---|
|
#18+
забыл ник, Да дебагер штука хорошая, особенно если ориентируешся в предмете, тут он мне не особо помог. Я хотел найти простейший способ вытащить информацию из XML. Даже рефлексию сделал, но в java опыт нулевой, тем более в ней просто море технологий. А всего то хотелось пройти по узлам вытащить значения, имен узлов и получит 1 атрибут. Но сделать хотел универсально, мне тут много чего советовали и десериализация и JDOM с Digester. Все это правильно но надо доделать 1 вариант. Я что совсем не правильно делаю когда пытаюсь получить Value? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2012, 19:11:38 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37928394&tid=2131092]: |
0ms |
get settings: |
15ms |
get forum list: |
25ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
53ms |
get topic data: |
22ms |
get forum data: |
5ms |
get page messages: |
125ms |
get tp. blocked users: |
3ms |
| others: | 328ms |
| total: | 592ms |

| 0 / 0 |
