powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JAXB collection index
8 сообщений из 8, страница 1 из 1
JAXB collection index
    #38830620
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно вопрос ?

Нужно получить такой вот xml :


Код: xml
1.
2.
3.
4.
5.
6.
7.
<Root>
<Number1>10</Number1>
<Number2>72</Number2>
<Number3>73</Number3>
<Number4>46</Number4>
<Number5>55</Number5>
</Root>



где сам класс :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
@XmlRootElement(name = "Root")
public class Root implements Serializable {

    private List<Integer> numbers = new ArrayList<>(5); // числа


  public Root() { }



    public List<Integer> getNumbers() {
        return numbers;
    }

        @XmlElement
        public void setNumbers(List<Integer> numbers) {
        this.numbers = numbers;
    }


Вывод :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 Root instance = new Root();
 List<Integer> list = Arrays.asList(10, 72, 73, 46, 55);
 instance.setNumbers(list);

        JAXBContext jaxbContext = JAXBContext.newInstance(Root.class);
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

        // output pretty printed
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

        jaxbMarshaller.marshal(instance, System.out);



Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root>
    <Number>10</Number>
    <Number>72</Number>
    <Number>73</Number>
    <Number>46</Number>
    <Number>55</Number>
 </Root>
...
Рейтинг: 0 / 0
JAXB collection index
    #38830631
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
JAXB collection index
    #38830660
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про то как почистить заголовок. Спасибо.



Уточню. Нужно выводить номера элементов коллекции в названии

Было

Number

Нужно

Number1
Number2
Итд
...
Рейтинг: 0 / 0
JAXB collection index
    #38830674
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажись проще самому переписать метод toString() -> toXmlString()
...
Рейтинг: 0 / 0
JAXB collection index
    #38830678
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

Можно, к примеру, добавить в тэг Number какой-нибудь атрибут, и в нем уже вести нумерацию: тынц
...
Рейтинг: 0 / 0
JAXB collection index
    #38830740
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

я бы так и делал:) но этот формат требует жужул для своих лент - он хочет забирать данные именно так !
Код: xml
1.
2.
3.
4.
5.
6.
7.
<Root>
<Number1>10</Number1>
<Number2>72</Number2>
<Number3>73</Number3>
<Number4>46</Number4>
<Number5>55</Number5>
</Root>



как в 2004 году задали такой формат так его и не меняли :)

p.s.
я даже не хочу думать как они это будут парсить .
...
Рейтинг: 0 / 0
JAXB collection index
    #38830952
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

Возможно тут может помочь @XmlVariableNode, если Вы используете EclipseLink.
...
Рейтинг: 0 / 0
JAXB collection index
    #38830964
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

На чистом JAXB только через DOM
http://stackoverflow.com/a/10638303

В противном случае надо смотреть в кишки реализации JAXB, чтобы подсунуть ему свой какой-то эмиттер.

Если XML простой, то я бы задумался нафига тут JAXB вообще. Если XML более сложный, но проблема с одним только тегом, то JAXB + DOM вполне решает проблему.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JAXB collection index
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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