近期项目开发过程中要返回给平台一个xml字符串,平台处理后也返回给我一个xml字符串,中间对象和字符串之间采用JAXB转换,但是在平台返回给我后,unmarshal时一直报javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"****"). Expected elements are <{*****}PACKET>,后来上网查询并未发现可用的解决方案,后来自己详细查看该错误内容,以及查看其他系统生成的xml文件,发现平台返回给我的xml中在第一个标签中缺少 xmlns="****"内容,其实错误内容告诉我们JAXB unmarshal时,xml缺少xmlns="****"内容,只要在返回的xml中添加上即可,
例如正确实例为:
<?xml version="1.0" encoding="GBK"?>
<TEST xmlns="http://www.test.com">
</TEST>