Связывание Java Spring XML на основе условий, использующих JAXB - PullRequest
1 голос
/ 26 июня 2019

Я связываю XML с объектом, используя JAXB, возможно ли связывание на основе таких условий, как атрибут

Bind href в элементе api:page, где атрибут position равен next.

Или получить все записи в виде стандартного списка, а затем отфильтровать с помощью if condition

<api:pagination results-count="93" items-per-page="25">
  <api:page position="this" href="https://url1.com" />
  <api:page position="next" href="https://url1.com?pid=2" />
</api:pagination>

1 Ответ

1 голос
/ 26 июня 2019

Нет необходимости выполнять преобразование для такой простой настройки. Воспользуйтесь преимуществом @XmlAnyElement https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/annotation/XmlAnyElement.html и просто сопоставьте свою коллекцию как список элементов.

@XmlElementWrapper(name = "pagination")
@XmlAnyElement
public List<Element> getPages() {
        return pages;
 }

Где Элемент org.w3c.dom.Element

@XmlElementWrapper является необязательным, если вы хотите, вы можете отобразить свой элемент нумерации страниц. Я не уверен, что вам это нужно.

Затем вы извлекаете позицию с помощью:

page.getAttribute("position")

и

page.getAttribute("href") 

для URL

...