在Java中使用JAXB将XML解组到模式类失败

时间:2019-06-21 10:33:16

标签: java jaxb

我正在尝试使用JAXB将此xml映射到我的模式类中。我搜索了许多解决方案。但是以某种方式,这没有用。每次将这个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”节点的值?谢谢。

0 个答案:

没有答案