草庐IT

java - 具有 2 个根元素的 XSD(一次 1 个)

所以这是一个复杂/迟钝的情况。我正在写一个XSD并且碰巧有一个要求我需要2个根元素(在任何给定时间1个)然后在任何给定时间,这些元素中的任何一个都将用作根元素,因此XML看起来像XYZ或XYZ这两个XML都将从2个不同的URL发送回用户,即列表将从localhost/books.xml?author=XYZ发送,单本书将从发送>localhost/book_name.xml我怎样才能用一个xml实现这一点?我尝试将书籍定义放在XSD中,但JAXB2.1没有生成任何Book类。有什么我想念的吗?EDIT1:已生成BookType,但BookType没有任何根元素。

java - 在格式化 JAXB 输出方面需要帮助

我有一些对象,比方说两个,A和B。这些对象来自同一个类。我需要使用JAXB编码这些对象,输出XML应采用以下形式:anidanidanidvaluevalueanidvaluevalue如何在JAXB中生成这种格式?感谢您的帮助。更新:更具体地说,假设我们有这样的人类类:@XmlRootElementpublicclassHuman{privateStringname;privateintage;privateIntegernationalID;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.na

java - 使用 JAXB 解码 xml 项的嵌套列表

我有这样的xml构造,我需要使用JAXB将其转换为java对象:...我不应该将此构造转换为具有嵌套项目列表的元素,而是转换为多个元素,每个元素一个。这是Element类的示例:classElement{Integertype;Stringproperty1;Stringproperty2;IntegeritemId;StringitemName;}我想在解码后得到它们的列表。所有列表元素的类型、属性1和属性2值应该相同。有没有可能使用JAXB解决这个问题? 最佳答案 主.javaimportjava.io.StringReader

java - 将嵌套对象编码为 "flat"XML 结构

我如何组织一个对象层次结构,而不是让组件对象成为嵌套的XML元素,它们的属性成为根元素的直接子元素,它们的名称以它们的类型为前缀。例如,给定:(A)publicclassCustomer{protectedStringfirstName;protectedStringlastName;protectedAddressaddress;}publicclassAddress{protectedStringstreet;protectedStringcity;}使用通常的JAXB注释会导致(B)JuandelaCruz123RizalAvenueManila但是,相反,我需要编码相同的(C)

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

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

xml - 如何指定 XmlAccessorType 用于 JAXB xjc 生成的类

我正在使用XML模式并使用xjc生成java文件以与JAXB一起使用。生成的java文件具有指定的默认@XmlAccessorType(XmlAccessType.FIELD)。我想更改此设置,以便生成的java文件具有注释的PROPTERY访问权限(@XmlAccessorType(XmlAccessType.PROPERTY)),并且没有在字段级别生成的@XmlElement/@XmlAttribute注释。有没有办法通过自定义绑定(bind)文件来完成此操作? 最佳答案 看起来您不能通过绑定(bind)定制来做到这一点。但是,

java - XML 生成后的 JAXB 日期时间格式

我有一个简短的问题:从xsd生成xjc类后,我的对象需要日历,这就是我提供的。但在将其编码为XML之后,我的日期格式如下:而我希望:我不使用带注释的jaxb,而是使用绑定(bind)文件,但是否可以不创建可以解析日期和字符串的类?谢谢! 最佳答案 当您使用Calendar时,您可以设置您希望使用的TimeZone:Java模型根下面是一个简单的Java对象,它有2个映射的Calendar字段。importjava.util.Calendar;importjavax.xml.bind.annotation.*;@XmlRootElem

java - 如何将一个xml元素绑定(bind)到一个对象成员变量中?

我正在尝试使用moxy将xml解码为对象。下面是xml的示例。valuevalueofaddress下面是我要映射的类。importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;importorg.eclipse.persistence.oxm.annotations.XmlPat

java - 使用 jaxb-ri-2.2.7 的 ant schemagen 任务中的 ClassCastException

我正在尝试使用来自JAXB-RI2.2.7的schemagenant任务,但我在build.xml中的schemagen任务上不断收到“BUILDFAILED....Errorstartingap”。相关节如下:使用-verbose,我得到下面的堆栈跟踪。我尝试使用谷歌搜索ClassCastException的详细信息,但没有找到任何内容。有什么建议么?谢谢,亚当BUILDFAILED/home/adam/sandboxes/adam/sensei/code/trunk/repository/build.xml:99:Errorstartingapatcom.sun.tools.jxc

java - JAXB 解码树结构

我有XML输入,它本质上是一个树结构。目标是将代码(取消)编码为Java类。Key1Value1Key2Subkey2Value999XML包含典型的键/值对。并且每个值可以包含另一个键/值对、列表键/值对或仅包含一个字符串值。@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)staticclassKeyValuePair{@XmlElement(name="key")privateStringkey;@XmlElement(name="value")privateStringvalue;//hereIdon'tknowhowtor