草庐IT

Unmarshalling

全部标签

xml - javax.xml.bind.UnmarshalException : unexpected element (uri :"", 本地 :"sRAssignments")。预期的元素是

SRAssignments.java(包装类):@XmlRootElement@XmlType(propOrder={})publicclassSRAssignments{@XmlElement(name="srAssignments",type=SRAssignment.class)privateListsrAssignments=newArrayList();publicSRAssignments(){}@SuppressWarnings("javadoc")publicSRAssignments(ListsrAssignments){this.srAssignments=srAs

java - 解码 XML 的一部分

我有这个XMLOK15400411775109696734629545318538433915088我想将data元素解码到我的POJO(不是整个XML,只是它的一部分)。JAXB有可能吗?@XmlRootElement(name="data")publicclassData{privateListitems;publicData(){}@XmlElement(name="item")publicListgetItems(){returnitems;}publicvoidsetItems(Listitems){this.items=items;}@OverridepublicStrin

android - 简单的 XML ElementListUnion - 不允许两个通用列表?

我正在尝试通过简单的框架对xml进行反序列化。我有两个列表,它们的类型只有在运行时才知道。所以我使用了@ElementListUnion。Customer.java@ElementListUnion({@ElementList(inline=true,type=Thing.class),@ElementList(inline=true,type=AnotherThing.class)})Listthings;@ElementListUnion({@ElementList(inline=true,type=Thing.class),@ElementList(inline=true,typ

java - JAXB 解码 : child elements are null

我正在尝试解码XML文档:以及XSD架构(由某些工具生成):这些是重要的模型类:map.java@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="",propOrder={"rooms"})@XmlRootElement(name="map")publicclassMap{/***Listofroomscontainedinthismap.*/@XmlElement(required=true)protectedListrooms;/***Getsthevalueoftheroomsproperty.***Thisaccessorm

java - 带有未知@XmlRootElement 的 Jaxb Unmarshall

在不知道根元素的情况下,我无法解码XML。例如。或等...我想将解码结​​果映射到类上://@XmlRootElement??publicclassContainerimplementsSerializable{privateBarbar;}我总是需要修复@XmlRootElement。我搜索了如何在运行时设置@XmlRootElement但没有成功。有什么想法吗?我在SpringBatch上下文中,我可以使用我选择的解码器。注意:我不能使用@XmlElementDecl或ObjectFactory,如图here因为我不知道可能的根名称。 最佳答案

java - 无法在 Java 中使用 Jaxb 仅提取选定的标记值

我有一个非常大的XML字符串。我只在此处发布XML对象的一部分。我正在尝试将此XML转换为Java对象。我的第一个问题是,我是否需要创建全部XML标记值的Java对象,或者我是否可以只创建选定的内部XML对象的Java对象?请找到我的XML字符串。01234ABC1980-03-03T00:00:00+03:00001100128062018-07-13T00:00:00+03:00在上面的对象中,我只想获取CONSUMER_PROFILE2对象。这是我的Dto类@XmlRootElement(name="DATAPACKET")publicclassConsumerProfileDt

java - JAXB 解码对嵌套对象始终具有空值

我有一个网络服务,通过编写它的WSDL和底层XSD来定义,并且java服务器代码类/java绑定(bind)是使用JAXB/xjc生成的。一切看起来都很好服务正在正常运行......但是对于每个请求(在查看日志输出时收到后看起来格式正确)嵌套元素在通过我的java代码访问时似乎总是空的。有人能弄清楚为什么customerId.getCustomer()总是返回null吗?我的XSD(部分):生成的类CustomerId:@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="customer_id",propOrder={"custome

java - JAXB Unmarshaller - 意外的元素异常

我使用JAXB解析器将通过http请求发送的XML转换为Java对象,同时根据我的XSD模式对其进行验证。问题是当调用unmarshal()方法时会引发此异常:javax.xml.bind.UnmarshalException:unexpectedelement(uri:"http://www.somedomain.com/",local:"assign").Expectedelementsare(none)如果我从我的根XML元素中删除命名空间,它会引发相同的异常,其中uri部分为空:javax.xml.bind.UnmarshalException:unexpectedelemen

java - JAXB 解码在运行时选择根名称

我有几个带有替代根元素的xml文件:,,....除此之外,xml结构相同。我想在同一个pojo中解码这些文件。我看到可以在运行时更改编码操作中元素的名称JAXBElementandQname(like:JAXBElementjaxbElement=newJAXBElement(newQName(null,"customer"),Customer.class,customer);)是否可以在解码时指示运行时根元素的名称?终极类:@XmlRootElementpublicclassUlti{....}解码方法:JAXBContextjaxbContext=JAXBContext.newIn

java - JAXB UnmarshalException - 包含 # 的文件名

情景我正在使用JAXB2.0,并且我有一个从需要解码的Web服务接收xml文件的进程。名称由网络服务提供,格式为:ESA08021701#99152015AA00024175#20150612#20150618125838_NOTIF_250073.xml问题当我尝试解码这些文件时:Filefile=//getmyfilefromalistunmarshaller.unmarshal(file);我得到这个UnmarshalExceptionjavax.xml.bind.UnmarshalException-withlinkedexception:[java.io.FileNotFou