JAXB相关错误

在xml和java的对象转换主要就是名空间问题错误。

1.xml文件没有名空间,bean对象的有。那么需要使用XMLFilter类来处理追加对应的名空间。

2.xml文件有名空间,bean对象没有。可以在Java对象的包目录,增加文件package-info.java。内容如下

@XmlSchema( 
    namespace = "http://www.opengis.net/kml/2.2", 
    elementFormDefault = XmlNsForm.QUALIFIED)

package com.ccssoft.exchange.business;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;

这样如下内容可以转换为对应的java对象

<DataExtension xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2">

</DataExtension

 

参考

http://blog.bdoughan.com/2010/08/jaxb-namespaces.html

http://blog.bdoughan.com/2012/11/applying-namespace-during-jaxb-unmarshal.html

https://stackoverflow.com/questions/17214930/jaxb-unmarshal-with-declared-type-does-not-populate-the-resulting-object-with-da/17216995#17216995

https://stackoverflow.com/questions/17319367/javax-xml-bind-unmarshalexception-unexpected-element-uri-localcountry

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值