Jaxb将xml转换为bean时异常javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"
来源:互联网 发布:php 表单 编辑:程序博客网 时间:2024/06/08 18:31
1.xsd生成java类命令:
xjc -p 包名 xsd文件名 -d 代码生成目录
2.调用下面的函数:
public static <T> T converyToJavaBean(String xml, Class<T> c) {
T t = null;
try {
JAXBContext context = JAXBContext.newInstance(c);
Unmarshaller unmarshaller = context.createUnmarshaller();
t = (T) unmarshaller.unmarshal(new StringReader(xml));
} catch (Exception e) {
e.printStackTrace();
}
return t;
}
运行报错
javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"*******"). Expected elements are <{http://www.w3.org/2001/XMLSchema}*******>
网上搜索未解决,后发现用xjc命令生成的java类中package-info.java,内容如下:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2001/XMLSchema", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.*******;
将第一行中命名空间去除后解决,修改后如下:
@javax.xml.bind.annotation.XmlSchema(namespace = "", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
原因分析:
生成java类的xsd文件中有命名空间,而实际解析的xml字符串没有命名空间,所以去除package-info.java命名空间解决了问题。
- Jaxb将xml转换为bean时异常javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"
- jaxb 将xml转化为bean时报异常javax.xml.bind.UnmarshalException: unexpected element
- Unmarshaller异常javax.xml.bind.UnmarshalException: unexpected element处理方法
- javax.xml.bind.UnmarshalException: Unexpected element
- javax.xml.bind.UnmarshalException (uri:"", 解决办法
- javax.xml.bind.UnmarshalException
- javax.xml.bind.UnmarshalException异常解决办法
- 调用cxf生成的接口异常修复javax.xml.bind.UnmarshalException - with linked exception
- 调用webservice出现javax.xml.bind.UnmarshalException解决办法
- JAXB 的 UnmarshalException unexpected element 错误原因与解决方法
- 关于cxf WebService中错误信息的解决 javax.xml.bind.UnmarshalException
- JAXB将JAVA对象转换为XML时CDATA的问题
- JAXB将JAVA对象转换为XML时CDATA的问题
- CXF javax.xml.ws.soap.SOAPFaultException: Unexpected wrapper element
- JAXB解析xml文件转换为POJO
- JAXB解析xml文件转换为POJO
- JAXB解析xml文件转换为POJO
- JAXB解析xml文件转换为POJO
- 人见人爱A^B
- Dijkstra及Floyd在多关键字(有主次顺序)约束下的最优路径
- java对象的强引用,软引用,弱引用和虚引用
- MySQL常用函数
- OC-UIKit-UILabel&第一个程序
- Jaxb将xml转换为bean时异常javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"
- 排序算法扫盲
- 08 ListView 优化
- Java(字节流的使用)
- Q67:机器人的运动范围
- mysql里面的while里面为什么会重复输出最后一个数据
- 电路与Multisim 滑动变阻器在哪里,用键盘控制滑动变阻的阻值。
- 15. 3Sum**
- 德州