Не удалось распаковать xml в модальный класс, используя JAXB в java - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь отобразить этот xml в мой модальный класс, используя JAXB.Я искал много решений.Но как-то для этого ничего не работает.Каждый раз при сопоставлении этого xml с моим классом модели я получаю

1 отсчетов IllegalAnnotationExceptions

<body>
    <i>
        <f name="name">test name</f>
        <f name="address">test address</f>
        <f name="phone">test phone</f>
    </i>
</body>

Это мой класс модели

    @XmlRootElement(name = "body")
    public class body {

        // XmLElementWrapper generates a wrapper element around XML representation
        @XmlElementWrapper(name = "i")
        // XmlElement sets the name of the entities
        @XmlElement(name = "f")
        private ArrayList<f> f;

        public ArrayList<f> getF() {
            return f;
        }

        public void setF(ArrayList<f> f) {
            this.f = f;
        }            

        @XmlRootElement(name = "f")
        public static class f {

            String name;

            public String getName() {
                return name;
            }

            @XmlAttribute(name = "name")
            public void setName(String name) {
                this.name = name;
            }
        }
    }

Вот как я просто получаю доступ:

    InputSource inputSource = new InputSource(new StringReader(inputXml));
    // map xml to model class in jaxb
    JAXBContext jaxbContext = JAXBContext.newInstance(Modal.class);
    Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
    Modal modal = (Modal) jaxbUnmarshaller.unmarshal(inputSource);

Что мне не хватает?И еще, есть ли способ получить доступ к значению узла "f"?Спасибо.

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