powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / xml в object
7 сообщений из 7, страница 1 из 1
xml в object
    #39198411
egorka39
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте
Есть 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.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
	<return>
		<requestid>1</requestid>
		<requestdate>2016-01-01T00:00:00.000+02:00</requestdate>
		<requeststatus>ok</requeststatus>
		......
		куча служебной информации
		......
		<doc>
			<item>
				<doctype>indoc</doctype>
				<docid>1</docid>
				<docnum>1</docnum>
				<docdate>2016-01-01T00:00:00.000+02:00</docdate>
				<docperson>имя</docperson>
				<docstatus>new</docstatus>
				<docitem>
					<itemid>1</itemid>
					<itemnum>1</itemidnum>
					<itemname>название элемента</itemname>
					<itemamount>100</itemamount>
				</docitem>
			</item>
		</doc>
	</return>
</root>


Java классы
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
@XmlRootElement(name = "doc")
public class Doc {
    List<Docs> item;

    public List<Docs> getItem() {
        return item;
    }
    @XmlElement(name = "item")
    public void setItem(List<Docs> item) {
        this.item = item;
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@XmlRootElement(name = "item")
public class Docs {
String type;
    String doctype;
    String docid;
    String docnum;
........................
    List<DocsItem> items;
    get
    set
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@XmlRootElement(name = "docitem")
public class docitem {
String storeName;
    String itemid;
    String itemnum;
    String itemname;
    String itemamount;
    get
    set
}



Использую JAXB но для того чтобы все отработало потребовалось создать еще 2 класса для тегов ROOT и RETURN.
в root.java создать поле с типом return
а в return.java создать поле с типом doc

Вопрос, какие есть способы сериализации, чтоб из этого xml достать только то что нужно а не создавать объекты с не нужной инфой.
Спасибо.
...
Рейтинг: 0 / 0
xml в object
    #39198427
Фотография nb_brain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorka39,

Посмотрите имплементацию JAXB EclipseLink MOXy, там ограниченно поддерживается xpath для маппинга полей на XML. Это позволяет создавать меньше объектов(лишних). Как раз то что вы ищите ) http://www.eclipse.org/eclipselink/documentation/2.4/moxy/advanced_concepts005.htm
...
Рейтинг: 0 / 0
xml в object
    #39198456
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
xml в object
    #39198460
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JAXB это сериализация. Она не только позволяет парсит XML в объекты, но и реализует обратный процесс. Это и накладывает определенный отпечаток. А для того чтобы только вычитать XML в объекты, лучше Apache Digester я ещё не встречал.
...
Рейтинг: 0 / 0
xml в object
    #39198486
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz лучше Apache Digester я ещё не встречал.
Apache Commons Digester, конечно же.
...
Рейтинг: 0 / 0
xml в object
    #39200165
egorka39
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое.
Есть еще вопрос.
А можно ли такую XML-ку скормить Spring-у?
...
Рейтинг: 0 / 0
xml в object
    #39200324
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorka39А можно ли такую XML-ку скормить Spring-у?
Лолшто? Spring же не корова, чтобы ему всё подряд кормить. Конкретика будет?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / xml в object
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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