在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