草庐IT

Unmarshalling

全部标签

java - JAXB Unmarshalling - 将子元素的属性映射到 java 对象

我无法将以下XML中answername标记的aid属性映射到Answer的Java字段aid>类。如有任何帮助,我们将不胜感激。提前致谢。XML:javaisaprogramminglanguageravijavaisaplatformjohnWhatisjava?Java类:Question.javapackagecom.deere.ruleEngine.service;importjava.util.List;importjavax.xml.bind.annotation.XmlAttribute;importjavax.xml.bind.annotation.XmlElemen

java - 使用 Java XML 注释、JAXB 绑定(bind)多个元素以将属性作为键进行映射

我有一个XML源,我从中使用JAXB解码对象。XML来源:something003030someone...Java源代码是这样的(还有所需的getter/setter):@XmlRootElement(name="album")classAlbum{Stringname;Longid;Stringartist;...}到目前为止一切顺利。现在我在相册列表中得到了一些不同大小的图片url:...http://.../small.jpghttp://.../medium.jpghttp://.../large.jpg...我想将它映射到像这样的javaMap:MapimageUrls;m

java - 在 Java 中使用泛型解码 XML

我有一些带有POJO的包用于解码。我想制作一个通用方法,您可以在其中传递要将其解码到的类类型。例如:publicclassTest{Eobj;//Getallthetags/valuesfromtheXMLpublicvoidunmarshalXML(StringxmlString){//SomeClasssomeClass;JAXBContextjaxbContext;Unmarshallerunmarshaller;StringReaderreader;try{jaxbContext=JAXBContext.newInstance(E.class);//Thislinedoesn'

java - 使用 JAXB 解码时如何忽略(有效地)大部分 XML 结构?

在处理具有相当复杂的XML结构的Web服务响应时,我只对非常小的信息子集感兴趣。让我们考虑在这种情况下必须使用usingJAXB。例如,假设我只对检索d感兴趣(可以将其建模为单个JAXBbean):ab1c1c2b2d忽略其他所有内容但检索d的最快推荐方法是什么? 最佳答案 注意:我是EclipseLinkJAXB(MOXy)JAXB2(JSR-222)专家组的领导和成员。有几种不同的方法可以处理这个用例:选项#1-StreamFilter任何JAXB实现您可以使用StAXXMLStreamReader和StreamFilter来过

xml - JAXB 中 UnMarshaller 和 Parser 的区别

谁能解释一下JAXB中UnMarshaller和Parser的区别。我读过UnMarshaller用于从XML文档中检索值。解析器也做同样的事情。任何人都请解释区别。例如:考虑下面的例子zoo.xmlVandalurZoo12321LionWild使用UnMarshaller,JAXBContextjaxbContext=JAXBContext.newInstance("com.javapapers.xml.jaxb");Unmarshallerunmarshaller=jaxbContext.createUnmarshaller();JAXBElementzoo=(JAXBEleme

java - JAXB 中属性的访问顺序

在我的类里面,我有80多个属性。我必须使用JAXB在类中使用相同的顺序将其写入xml文件。所以请建议我一个自动创建的propOrder或其他一些按照我在类里面给出的相同顺序给出的方法。注意:默认情况下,我按字母顺序获取输出例子:Javaobject:order[id=1,item=121,qty=10,city=QWE,...........,addr=ASD]exceptedresult:Inxmlfile112110....ASD 最佳答案 如果您从Java对象创建xml,则使用@XmlType(propOrder={"id",

java - Jaxb - 如何将一个 xml 元素解码到多个字段?

xml:value(something)我需要将此xml解码到我的java类中的两个不同字段。我尝试了以下方法,但没有用。第一个字段具有正确的值,第二个字段为空。Java:@XmlElement(name="element")@XmlJavaTypeAdapter(TakeValueBeforeParentheses.class)privateStringone;@XmlElement(name="element")@XmlJavaTypeAdapter(TakeValueInParentheses.class)privateStringtwo;如果不创建一个类来保存这两个值并将其映射

java - JAXB 解码错误 : Expected elements are <{ } Root>

我正在重用其他地方生成的现有对象来解码作为字符串类型传入的XML数据。对象:/*3:*/importjava.util.ArrayList;/*4:*/importjava.util.List;/*5:*/importjavax.xml.bind.annotation.XmlAccessType;/*6:*/importjavax.xml.bind.annotation.XmlAccessorType;/*7:*/importjavax.xml.bind.annotation.XmlElement;/*8:*/importjavax.xml.bind.annotation.XmlRoo

java - 如何让 Castor 忽略某些 XML 字段?

我正在维护一些复杂的Java代码,并且Castor(v1.2)解码非常慢,因为有很多“丢失”的Java对象。看,XML包含的字段比我需要的多,但Castor反复尝试实例化Java对象,导致大量ClassNotFound错误。Castor映射文件:XML来源:我的问题是color字段没有Java等效项,我不希望它解码。我尝试在castor.properties文件中设置org.exolab.castor.xml.strictelements=false,但这并不能阻止它遍历类加载路径并抛出ClassNotFound错误。如何让Castor跳过不需要的XML元素?

xml - 使用 JAXB 将空字符串解码为 null 的正确方法

我必须处理大型XML文档,这些文档通常会错误地处理缺失的属性数据。不是仅仅省略带有缺失数据的属性,而是用空字符串值指定该属性。这会在解码时导致问题,因为空字符串是一个值。例如,应该是什么是代替我正在努力想出一种“正确”的方式来优雅地处理这种格式不良的XML。目标是当属性的值为空字符串时将属性视为被省略,而空字符串永远不是该属性的有效值(例如整数)。我目前正在使用XMLAdapters将这些空字符串转换为null(如建议的inthispost),但这似乎是错误的解决方案。我正在处理的文档中的许多属性已经在使用从其他代码共享的类型适配器,而且似乎没有办法为一个属性指定多个XMLAdapte