草庐IT

JAXB-Unmarshalling

全部标签

xml - JAXB 如何删除 JDK7 中的 ns2

在我的代码中,当XmlSchema只有命名空间属性时,我使用JAXB将对象转换为xmlstring,我可以得到我想要的。像这样的xml字符串:watersteak但是当我有xmlnsattr时,我得到这样的xml:watersteak代码:包信息.java@XmlSchema(namespace="http://www.something.com/something",elementFormDefault=XmlNsForm.QUALIFIED,xmlns={@XmlNs(namespaceURI="h",prefix="xsi")})//onlythismaketheresultdi

java - 从 JAXB 转换 null java.lang.Integer 产生 0,而不是 null

我有以下XML:TESTTESTMRM通过序列化以下类产生:packageanonymised.packagename;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;importjavax.xml.bind.annotation.XmlSchemaType;import

java - 我们可以在解码期间在运行时决定 jaxb 类吗?

有什么方法可以在运行时决定我想将XML解码到哪个java类中?我试过用这种方式解码代码-publicObjectunmarshallXml(StringxmlReq,StringclassName){StringmyClass=className+".class";Objectinstances=null;try{JAXBContextjc=JAXBContext.newInstance(myClass);Unmarshalleru=jc.createUnmarshaller();StringBufferxmlStr=newStringBuffer(xmlReq);StringRead

java - 使用 JAXB 将 XML CDATA 字符串解码为文字

考虑以下简单的XML字符串:abcd下面的代码定义了2Java可用于生成上述Example.class的类(Value.class和XML)输出,对于字符串值abcd:@XmlRootElement(name="example")publicclassExample{privateValuevalue;privateExample(){}publicValuegetValue(){returnvalue;}publicvoidsetValue(Valuevalue){this.value=value;}@XmlAccessorType(XmlAccessType.FIELD)priva

xml - JAXB 绑定(bind) - 将 typesafeEnumBase 设置为空(将枚举转换为字符串)

根据linkIftypesafeEnumBaseissettoxsd:string,itwouldbeaglobalwaytospecifythatallsimpletypedefinitionsderivingdirectlyorindirectlyfromxsd:stringandhavingenumerationfacetsshouldbeboundbydefaulttoatypesafeenum.IftypesafeEnumBaseissettoanemptystring,"",nosimpletypedefinitionswouldeverbeboundtoatypesafe

java - JAXB 一步将集合编码为 XmlElement 和 XmlAttribute

我想将集合编码为嵌套属性。现在我有:@XmlElement(name="entry")publicCollectiongetSizes(){...}返回:12但我想得到:如果没有新类,这可能吗? 最佳答案 如果没有新类(class),似乎是不可能的。使用XmlAdapter:classEntryAdapterextendsXmlAdapter{publicEntryAdapter.Entrymarshal(Integerid){returnnewEntry(id);}publicIntegerunmarshal(Entrye){re

java - 无论如何只注释 JAXB 的必填字段

我正致力于使用JAXB将Hibernate对象转换为XML。在我们的类(class)中,我们有大约50个领域,我只需要其中的10个。基本上,我定义了具有2个属性的XmlType#propOrder。JAXB提示说一些公共(public)setter/getter不是proporder的一部分。我看到如果我不使用XmlTransient/XmlElement中的任何一个标记属性,JAXB就会提示它。有什么方法可以跳过在每个字段上写“XmlTransient”吗? 最佳答案 您可以使用@XmlAccessorType(XmlAccess

java - JAXB:如何将元素与命名空间绑定(bind)

他是我在远程机器上托管的XML:LearningJAXBJoeBloggLearningJAXBSEJoeBlogg我有如下装订书:书籍装订:@XmlRootElement(name="book")@XmlType(propOrder={"title","author"})publicclassBook{privateStringtitle;privateStringauthor;privateStringlocation;@XmlElement(name="title")publicStringgetTitle(){returntitle;}publicvoidsetTitle(St

java - 如何使用 xsom\dom\jaxb 获取 xsd 的最大深度?

如何使用xsom获取xsd的最大深度。例如:xsd的每个复杂类型下的元素总数?此外,如果在该复杂类型下存在复杂类型,那么该复杂类型下的元素+属性的数量……使用dom\xsom\jaxbCommentdescribingyourrootelement 最佳答案 其实我只是在找这个。我在API中找不到任何东西,所以昨天找到了一种递归方法。我只是将我的递归方式粘贴到最深处并将它们添加到一个Hashmap中。/**Parsesthexmlschemastringintoahashmap*notethathashmaphasaformofat

java - JAXB 继承冲突 - 在子类上重新注释

我的项目目前有这个环境:publicabstractclassFoo{privateListthings;publicListgetThings(){returnthis.things;}}publicabstractclassBarextendsFoo{@XmlElements({@XmlElement(name="first",type=First.class)})publicListgetThings(){returnsuper.getThings();}}publicclassBobarextendsBar{@XmlElements({@XmlElement(name="sec