Java / JAXB: добавление идентификатора в мой элемент без отображения этого в файле XML - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу добавить id к своему элементу, но я не хочу, чтобы это отображалось в моем XML-файле. Поэтому я старался не ставить @XmlAttribute, ни @XmlElement, но это всегда появляется. Я просто хочу установить id для моего объекта, чтобы вернуть его для чего-то другого в моей программе.

Вот мой код Java в JAXB (упрощенно):

public class Equipment {
    private String label;
    private Integer id;

    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }

    @XmlAttribute
    public String getLabel() {
        return label;
    }
    public void setLabel(String label) {
        this.label = label;
    }
}

И вот он, когда я создаю свой XML-файл:

<site label="test">
  <equipment id="2" label="test">
  </equipment>
</site>

Как видите, появляется id, но не должен.
Спасибо!

1 Ответ

0 голосов
/ 19 ноября 2018

В вашем Equipment классе вы должны сказать JAXB, что он должен игнорировать id собственность. Вы делаете это, комментируя это @XmlTransient (вместо @XmlAttribute или @XmlElement).

@XmlTransient
public Integer getId() {
    return id;
}

Это должно привести к выводу XML следующим образом:

<site label="test">
  <equipment label="test"/>
</site>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...