|
|
|
Unmarshaling RSS в JAXB и доступ к внутренним nod'ам
|
|||
|---|---|---|---|
|
#18+
Делаю анмаршелинг RSS-фида. Подсунул его Intelijj IDEA, попросил сделать JAXB-классы из xsd. IDEA сделала что-то подобное: Код: 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. Дальше в неком классе я делаю анмаршелинг из xml с помощью этого jaxb-класса примерно так: Код: java 1. 2. 3. 4. В конечном итоге мне нужно выкинуть элементы item в некую- JSP страницу. Но так как channel это вложеный класс, а getItem его локальный метод, я естественно не могу из объектной переменной rss к ним обратиться и в последствии выкидывать каким-то методом его items в цикле куда-то. В консоль или в JSP - не важно. Соответственно вопрос - как лучше в данном случае организовать дизайн, чтобы я мог получить доступ к public List getItem() . На ум приходит только идея сделать еще один метод в обертывающем классе RSS, который будет вызывать его getItem, но как-то мне кажется криво... Заранее всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 14:49 |
|
||
|
Unmarshaling RSS в JAXB и доступ к внутренним nod'ам
|
|||
|---|---|---|---|
|
#18+
Anton Romanov, Ничего не понял. Код: java 1. 2. На что именно компилятор ругается? getChannel() - публичный getItem() - публичный Rss.Channel - публичный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 14:56 |
|
||
|
Unmarshaling RSS в JAXB и доступ к внутренним nod'ам
|
|||
|---|---|---|---|
|
#18+
авторНичего не понял. Вот здесь, в отдельном классе я задаю переменную: Код: java 1. Соответственно у переменной rss доступны методы класса Rss. То есть, например getChannel(). Но методы класса Channel мне не доступны. В частности getItem. То есть вопрос - в этом случае, какое решение наиболее верное чтобы мне обрабатывать item, то есть, говоря другими словами, как лучше получить доступ к вложенным нодам XML. (в данном случае это поля вложенного класса). Компилятор не ругается. Но ввод в IDE "rss." разумеется не отображает в выпадающем списке метод getItem. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 15:09 |
|
||
|
Unmarshaling RSS в JAXB и доступ к внутренним nod'ам
|
|||
|---|---|---|---|
|
#18+
Anton RomanovНо методы класса Channel мне не доступны. В частности getItem. Когда методы класса не доступны, компилятор выдаёт ошибку. Ошибку вы не сообщаете. Судя по коду её быть не должно. А раз ошибки нет, значит вы заблуждаетесь и методы доступны. Anton RomanovТо есть вопрос - в этом случае, какое решение наиболее верное чтобы мне обрабатывать item, то есть, говоря другими словами, как лучше получить доступ к вложенным нодам XML. (в данном случае это поля вложенного класса). Вы в поисках решения проблемы, которой нет. Anton RomanovКомпилятор не ругается. Вот и я о том же. Может так понятнее будет: Код: java 1. 2. 3. Anton RomanovНо ввод в IDE "rss." разумеется не отображает в выпадающем списке метод getItem. Потому что переменная rss имеет тип Rss, а метод getItem() доступен у типа Rss.Channel. https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 15:21 |
|
||
|
Unmarshaling RSS в JAXB и доступ к внутренним nod'ам
|
|||
|---|---|---|---|
|
#18+
<c:forEach var="item" value="${requestScope.rss.chanel.item}"> <c:out value="${item.name}"/> </c:forEach> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 16:12 |
|
||
|
Unmarshaling RSS в JAXB и доступ к внутренним nod'ам
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAnton Romanov, Ничего не понял. Код: java 1. 2. На что именно компилятор ругается? getChannel() - публичный getItem() - публичный Rss.Channel - публичный А чо JSP парсеры уже научились понимать синтаксис java 5? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2018, 16:17 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39601170&tid=2122265]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
164ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 259ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...