猿问

使用JAXB解析XML问题

加入@XmlElement(name="extendInfo")不报错了,但xml转为对象时,key和value设值不进去,对象转xml没问题。


解析为xml可以,xml转为对象报错。报错截图不方便贴出来

在unmarshaller.unmarshal()报空指针异常,报错不友好,可能贴出来也效果不大。


    /* 总的xml类 */

    public class Document {

        //... 其它字段及其get,set方法

        

        private List<ExtendInfo> extendInfo;    //只要加上这个解析XML为对象就报错,但对象解析为xml没问题

        

        @XmlElementWrapper(name="extendInfos")

        @XmlElement(name="extendInfo")    //加上这个就不报错了

        public List<ExtendInfo> getExtendInfo() {

            return extendInfo;

        }

        public void setExtendInfo(List<ExtendInfo> extendInfo) {

            this.extendInfo = extendInfo;

        }

    }



    @XmlType(propOrder={"key", "value"})

    public class ExtendInfo {

        

        private String key;

        private String value;

        

        @XmlAttribute

        public String getKey() {

            return key;

        }

        public void setKey(String key) {

            this.key = key;

        }

        @XmlAttribute

        public String getValue() {

            return value;

        }

        public void setValue(String value) {

            this.value = value;

        }

    }

    

    //XML:

    <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>

    <document>

        <!-- 其它的标签 -->

        <extendInfos>

            <extendInfo key="k1" value="v1"/>

            <extendInfo key="k2" value="v2"/>

        </extendInfos>

    </document>


眼眸繁星
浏览 480回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答