我知道有很多像这样的问题,但没有一个给我提供正确的答案,所以我来这里。
下面是我得到的XML:
<?xml version="1.0" encoding="UTF-8"?>
<Managers>
<Manager ManagerID="1996" />
<Manager ManagerID="1997" />
<Manager ManagerID="1998" />
<Manager ManagerID="1999" />
<Manager ManagerID="2000" />
</Managers>
下面是相关的java类:
@XmlRootElement(name = "Managers")
@XmlAccessorType(XmlAccessType.FIELD)
public class ManagerList {
@XmlElement(name = "Manager")
private List<Manager> Managers = null;
public List<Manager> getList() {
return Managers;
}
public void setList(List<Manager> Managers) {
this.Managers = Managers;
}
}
String stringManagers = //Here is the above XML(as String), i get it from an external source
StringReader reader = new StringReader(stringManagers);
JAXBContext context;
Unmarshaller un;
context = JAXBContext.newInstance(ManagerList.class);
un = context.createUnmarshaller();
ManagerList managerList = (ManagerList) un.unmarshal(reader);
javax.xml.bind.UnmarshalException: unexpected element (uri:“”, local:“Managers”). Expected elements are <{}Manager>
好吧,我最近用来修改XML的API似乎发生了变化,即使我使用wsdl2java重新生成了类,Eclipse也很难理解这一点。
我只需要把它全部清理干净,用新的课程重新开始。
对不起,“愚蠢”的问题!
//我的主类中的解马歇尔代码 例外
从xml反编组时遇到异常 } 我为systemUnit类添加了注释@xmlRootelement(name=“systemUnit”)。 有人能帮我解决这个问题吗
嗨,我已经使用wsimport从WSDL生成了java类,但是我已经将响应写到了一个文件*.xml中。但是现在我想读取这个xml文件并填充已经生成的java类。 我试过: XML如下所示: 或者我能做什么?
重要提示:我想说明我已经读过javax.xml.bind.UnmarshalException:意外元素。预期的元素是(无),并尝试了建议的解决方案,但没有成功。 我尝试将反序列化为用生成的类。这是代码: 这是一个错误: UnMarshalException:意外元素(URI:“”,local:“id”)。所需元素为(无) 这是原始的: 我使用的是8(Azul ZuluFx 8.0.202)和2.
你可以在这个网站找到很多这样的问题,但没有一个解决了我的问题。 这是我的XML: 我已经使用XJC编译器创建了Jaxb类,创建的文件如下所示: