<?xml version="1.0" encoding="UTF-8"?>
<ClientConfigData>
<requestType>type1</requestType>
<refreshEnable>false</refreshEnable>
<compressionEnable>false</compressionEnable>
<transformationEnable>true</transformationEnable>
...
</ClientConfigData>
@XmlRootElement
public class ClientConfigData {
private String requestType;
private boolean refreshEnable;
private boolean compressionEnable;
private boolean transformationEnable;
...
}
在这里,我将从XML创建java对象:
File configFile = new File(classLoader.getResource("ClientRegistration.xml").getFile());
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(ClientConfigData.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
ClientConfigData configData= (ClientConfigData) jaxbUnmarshaller.unmarshal(configFile);
System.out.println(configData);
} catch (JAXBException e) {
e.printStackTrace();
}
您应该向@XmlRootElement
批注添加限定的根元素名称。在您的情况下,它将是:
@XmlRootElement(name=“ClientConfigData”)
默认情况下,jaxb
搜索clientconfigdata
(第一个字母是小写的)。
有几个关于这个问题的帮助主题,但我还没有找到一个解决我的问题的解决方案。我很欣赏在解决这个问题上的指导。 例外情况
Axis2生成一个stub类,它包含所有的getters、setters和schema中的选项中的类。我使用该类并调用方法,如下所示: 然后我得到上面张贴的错误。为什么会出现这种情况?我的代码错了吗?
UnMarshalException:意外元素(URI:“”,本地:“SystemUnit”)。需要的元素为<{http://xyz.abc.com/consumer/systems}SystemUnit>
当我试图从web服务获取对象时,会出现以下异常: User类使用进行注释,通过浏览器访问web服务将显示User的xml表示形式 客户端代码(我使用是因为导致): Web服务代码:
重要提示:我想说明我已经读过javax.xml.bind.UnmarshalException:意外元素。预期的元素是(无),并尝试了建议的解决方案,但没有成功。 我尝试将反序列化为用生成的类。这是代码: 这是一个错误: UnMarshalException:意外元素(URI:“”,local:“id”)。所需元素为(无) 这是原始的: 我使用的是8(Azul ZuluFx 8.0.202)和2.