xml с атрибутами для java объекта с jaxb - PullRequest
1 голос
/ 06 мая 2020

У меня есть xml, как показано ниже:

<response>
    <adminArea5 type="City">Rochester</adminArea5>
    <adminArea3 type="State">NY</adminArea3>
    <adminArea4 type="County">Monroe County</adminArea4>             
    <adminArea1 type="Country">US</adminArea1>
</response>

Java Класс:

public class Response{

    private String street;

    @XmlAttribute(name = "adminArea5")
    private String city;

    @XmlAttribute(name = "adminArea3")
    private String state;

    @XmlAttribute(name = "adminArea4")
    private String county;

    @XmlAttribute(name = "adminArea1")
    private String country;
}

Я использую "JAXB.unmarshal (new StringReader (xml) , targetClass) "для синтаксического анализа xml в java объект. Но после синтаксического анализа xml эти поля становятся нулевыми. Любая помощь будет оценена по достоинству.

1 Ответ

0 голосов
/ 06 мая 2020

Обновите свой Java класс, как показано ниже

@XmlRootElement(name = "response")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Response {
    private String street;

    @XmlElement(name = "adminArea5")
    private String city;

    @XmlElement(name = "adminArea3")
    private String state;

    @XmlElement(name = "adminArea4")
    private String county;

    @XmlElement(name = "adminArea1")
    private String country;

    @Override
    public String toString() {
        return "Response{" +
                "street='" + street + '\'' +
                ", city='" + city + '\'' +
                ", state='" + state + '\'' +
                ", county='" + county + '\'' +
                ", country='" + country + '\'' +
                '}';
    }
}

, также проверьте разницу между XmlElement и XmlAttribute XML атрибутом и XML элементом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...