问题:
读取xml文件转换java实体时候,遇到这个问题:“意外的元素 (uri:"", local:"***")。所需元素为<{http://www.w3c.com/2009/xxx}***>”
用xjc命令自动生成的dto java类中package-info.java,内容如下:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.aaa.com/2012/abc", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.demo.dto.emd;
两种解决方案:
- 把对应xsd中的namespace里面的内容置为 空 就可以了。
因为生成dto类的 xsd 有命名空间,而实际解析的xml字符串没有命名空间。 - xsd文件里,把第一行中的 targetNamespace 去掉也可以解决。