Несколько элементов с одинаковым именем в SimpleXML и Java

Я пытаюсь использовать SimpleXML для анализа XML-документа (ItemLookupResponse для книги из Amazon Product Advertising API), который содержит следующий элемент:

<ItemAttributes>
  <Author>Shane Conder</Author>
  <Author>Lauren Darcey</Author>
  <Manufacturer>Pearson Educacion</Manufacturer>
  <ProductGroup>Book</ProductGroup>
  <Title>Android Wireless Application Development: Barnes & Noble Special Edition</Title>
</ItemAttributes>

Моя проблема в том, что я не знаю, как обращаться с множеством возможных Author элементов.

Вот что у меня есть прямо сейчас для соответствующего POJO (простой старый объект Java), имея в виду, что он не обрабатывает случай нескольких Author:

@Element
public class ItemAttributes {
    @Element
    public String Author;

    @Element
    public String Manufacturer;

    @Element
    public String Title;
}

(Меня не волнует ProductGroup, поэтому его нет в классе - я просто устанавливаю strict режим SimpleXML на off, чтобы учесть это.)

Мне не удалось найти пример в документации, соответствующей с таким случаем. Использование ElementList с (inline=true) казалось правильным, но я не видел, как это сделать для String (в отличие от отдельного класса Author, в котором я не нуждаюсь и не вижу, как это вообще будет работать).

Вот аналогичный вопрос и ответ, но для PHP: php - simpleXML, как получить доступ к определенному элементу с тем же именем, что и другие? Я не знаю, какой Java эквивалент был бы принятому ответу.

Заранее спасибо.


person LouieGeetoo    schedule 14.08.2011    source источник


Ответы (1)


N.B, это просто после прочтения документации (вопрос только в том, должно ли это быть name = "Author" или entry = "Author"):

@Element
public class ItemAttributes {
    @Element(inline=true, type=String.class, name="Author")
    public List<String> authors;
...
}
person forty-two    schedule 14.08.2011