java - 使用JAXB解析XML问题
迷茫
迷茫 2017-04-17 17:58:05
0
1
653

加入@XmlElement(name="extendInfo")不报错了,但xml转为对象时,keyvalue设值不进去,对象转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>
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(1)
大家讲道理

동일한 코드를 친구가 시도했는데 성공했습니다OK.
그래서 이전 테스트dom4j를 찾아 JAR 버전인 다음 RC 패키지를 추가했는데, 테스트해보니 BUG이 있고 2.0.0 버전으로 변경해도 아무런 효과가 없습니다.

으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!