Как получить значение anyType с помощью Jaxb? - PullRequest
1 голос
/ 15 августа 2011

У меня есть xml, который выглядит следующим образом:

<Root>
   <tag1>4</tag1>
   <tag2>aa</tag2>
   <tag3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <anyType xsi:type="xsd:string">bla bla bla</anyType>
      <anyType xsi:type="xsd:string">3</anyType>
   </tag3>
</Root>

объект, сгенерированный xjc:

public class Root {
  @XmlElement(name="tag1")
  protected short tag1;

  @XmlElement(name="tag2")
  protected String tag2;

  @XmlElement(name="tag3")
  protected Object tag3;
}

когда я отменяю марш xml, я получаю какой-то элемент xmlв tag3.Мне нужно что-то общее, чтобы получить значения из tag3 в список.

есть идеи?

спасибо.

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Ну, ответ решается быть простым. Я просто меняю

  @XmlElement(name="tag3")
  protected Object tag3;

до:

 @XmlWrapper(name = "tag3")
 @XmlElements(@XmlElement(name="anyType"))
  protected List<Object> list;

Моя проблема была с объектом, созданным xjc.

0 голосов
/ 16 августа 2011

Создать класс AnyType.И decalre tag3 как массив AnyType

 @XmlElement(name="tag3")
 protected AnyType[] tag3;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...