PersistenceException - Двойная аннотация имени в простой десериализации XML

Я тестирую простой учебник по этой ссылке. Я изменяю XML-файл, как это.

<example xmlns:ns1="http://www.blah.com/ns/a">
  <a>
    <b>
        <x>abc</x>
      <ns1:x>blah</ns1:x>
    </b>
  </a>
</example>

и я добавляю следующую кодировку в Example7 учебный класс.

   @Path("a/b")
   @Element(name = "x")
   private String x_;

Я получил это исключение PersistenceException : Duplicate annotation of name 'x' on field 'x', Я хотел бы знать, как преодолеть это исключение.

Благодарю.

1 ответ

Вы должны аннотировать свое поле x в вашем классе Example7 использовать пространство имен ns1,

@Element
@Path("a/b")
@Namespace(reference="http://www.blah.com/ns/a", prefix="ns1")
private String x;

Также см. Соответствующий раздел учебника по простому XML.

Другие вопросы по тегам