powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить сложный составной объект из XML
7 сообщений из 7, страница 1 из 1
Как получить сложный составной объект из XML
    #39564851
MaxLich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Приходит такой xml ответ (часть ответа):
Код: xml
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.
<event
        tab_n="              333333"
        f_tabel_id="              333333"
        f_fio="Шевчук  А.М."
        f_date_ev="08.11.2017"
        f_time_ev="16:29:20"
        f_name_subdiv="(не определено)"
        f_name_ev="Проход, подтверждение от ВЕРИФИКАЦИИ"
        f_identifier="9236095"
        f_name_obj="Стойка турникета"
        f_name_resource="Вход"
        f_ip_addr="192.168.1.251"
        f_subdiv_id_internal="1"
        f_subdiv_id_external="{553C5636-6DC0-4F91-8045-A631D466D836}"
        f_name_appoint="(не определена)"
        f_appoint_id_internal="1"
        f_appoint_id_external="{8FB709D9-7CAB-441D-ABD5-367449ABF623}"
        f_configs_tree_id_controller="6989"
        f_configs_tree_id_resource="7055"
        f_type_pass="1"
        f_id_staff_internal="7435"
        f_id_staff_external="{C18D495D-E396-4825-84E7-759B3380FD58}"
        f_areas_name="Ламповая"
        f_num_ev="27"
        f_user_id=""
        f_ref_category_ev="0"
        f_ref_sub_category_ev_name=""
        f_type_identifier="family_number"
    />



Хотелось бы из этого получить три объекта. Частью значениями атрибутов надо заполнить поля одного объекта, частью - другого, и ещё одной частью - третьего. Как можно это сделать с помощью JAXB? Или средствами JAXB это не решается?
...
Рейтинг: 0 / 0
Как получить сложный составной объект из XML
    #39564859
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Средствами JAXB разве что подсунуть умный прокси, который распихает нужные аттрибуты в три объекта.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
class XMLEvent {
   TypeA a = new TypeA();
   TypeB b = new TypeB();
   TypeC c = new TypeC();

   @XmlAttribute("tab_n")
   setTabNumber(String num){
         a.setTabNumber(num);
   }
}



Либо тоже самое, но через адаптeр.
https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/adapters/XmlAdapter.html

А так я бы Apache Digester попробовал, если не нужно этот XML потом из объектов формировать.
...
Рейтинг: 0 / 0
Как получить сложный составной объект из XML
    #39564923
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLich,
Руками меньше кода будет.
Тут же вообще нет никакой структуры. Голый набор строк.
...
Рейтинг: 0 / 0
Как получить сложный составной объект из XML
    #39565152
MaxLich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,
Предлагаете использовать DOM Parser?
...
Рейтинг: 0 / 0
Как получить сложный составной объект из XML
    #39565210
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichPetro123,
Предлагаете использовать DOM Parser?
Зависит от размера XML. SAX и StAX подойдут не хуже.
...
Рейтинг: 0 / 0
Как получить сложный составной объект из XML
    #39565213
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichPetro123,
Предлагаете использовать DOM Parser?
Любой парсер на ваш вкус.
Суть в том, что а первой строке кода xPatch поиском встали на ноду и пошли читать строки.
Вы json используете как ini файл.
...
Рейтинг: 0 / 0
Как получить сложный составной объект из XML
    #39565584
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxLichИли средствами JAXB это не решается?Решается:
- создаем три несвязанных между собой объекта - unmarshall -ить для каждого получаемого объекта (в три захода).
- полиморфически с cast-ингом - общий parent-объект (где перечисляются все поля), наследники - используют только
  нужные родительские поля (unmarshall-им 1 раз, потом cast-им в нужный).
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как получить сложный составной объект из XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]