草庐IT

jaxb_lib

全部标签

java - 编码时空元素的 JAXB 默认值

在编码JAXB对象时,我想为生成的XML设置一些默认值。我不想使用nillable=true,因为它会生成带有不必要的xsi:nil="true"的空标签,这不是为了设置默认值。相反,我想生成带有一些占位符字符(例如“?”)的XML。用例:我将构建一个用于Web服务测试的工具。我需要将整个请求xml呈现给用户(如SOAPUI)。 最佳答案 Usecase:IamgoingtobuildatoolforWebServicetesting.ThereIneedtopresenttheentirerequestxmltotheuser(L

java - JAXB : creating java object from xml element atribute

我想使用JAXB将XML(基本上是从某些数据库中导出的)文件映射到Java对象。我的目标XML就像-1Product1102Product220我期待一个像下面这样的模型:publicclassProduct{intid;Stringname;intqty;publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetQty(){returnq

java - JAXB 将子类的实例解码到列表中

假设我想用xml表示算术表达式,所以我有:@XmlRootElement@XmlTransient@XmlSeeAlso({Num.class,Add.class})publicabstractclassEvaluable{publicabstractinteval();}@XmlRootElement@XmlType(name="num")publicclassNumextendsEvaluable{@XmlValueprivateintval;@Overridepublicinteval(){returnval;}}@XmlRootElement@XmlTypepublicclas

xml - JAXB处理SOAP消息时如何拦截XML解析错误?

我可以使用JAXB拦截XML解析来检查负载吗?我已经使用java的wsimport工具为SharePointWSDL生成了代码绑定(bind)。我在SharePoint中调用一个名为GetListItems的SOAP方法,生成的代码正在为我解析从服务器返回的XML。解析失败;这是一个knownissueinSharePoint用户可能会在某些破坏SharePoint生成的XML的内容中放置特殊字符。这个堆栈跟踪给出了提示Characterreference"&#])(注意那里没有结束双引号)——我现在最好的猜测是有一个不可打印的字符或一些奇​​怪的东西破坏解析的XML。修复它首先要更多

xml - JAXB 绑定(bind) : dynamic class names for repeated elements

我有一个XSD,其中包含名称row的重复元素,在尝试使用XJC解析它时会产生冲突。我想知道是否有一种方法可以为每个名称附加一个索引以生成唯一的类名,例如Row1.java,Row2.java,Row3.java等等。sample.xsdbinding.xmlxjc命令xjc-extensionbinding.xmlsample.xsd我尝试使用XPath表达式,但得到了像_002f_002fXsElement_005b1_005d.java这样的垃圾输出。也许我采取的方法是错误的。欢迎提出任何建议。 最佳答案 这对于您拥有的模式是不

xml - 处理 JAXB 枚举键名

最近几天我一直在为我的jaxb问题寻找解决方案,但没有成功......所以我希望这里有人可以帮助我。基础是来自外部合作伙伴的xsd架构,它是原样的,即我无法更改它。这些类是用xjc生成的,没有问题,但枚举不是“java兼容的”。有些值是数字或字母数字,因此必须在绑定(bind)中设置属性typesafeEnumMemberName="generateName"。然后Jaxb生成枚举键,如VALUE_1、VALUE_2等。我现在的问题是,一些枚举有ErinnerungKlageBeschaffungStorno类(class):@XmlType(name="MandatType")@Xm

java - JAXB 中可更改的 XML 结构?

我正在考虑创建XML文件的Java生成器,然后由另一个Java程序加载(我不能在那里更改代码)。显而易见的答案是JAXB,但我偶然发现了一个问题。我希望XML更具可定制性:所有三个XML都是生成器的有效输出。我已经为fistElement、secondElement等(有很多)创建了Java类,但我不知道如何将它们全部添加到一个HeadTag元素下。我有很多元素,超过500个,所以将它们作为字段放在类中有点难看。 最佳答案 如果你负担得起你的元素类来扩展一个抽象类,你可以试试这个:@XmlAccessorType(XmlAccess

java - XSD:通过 Jaxb 插件生成 POJO 时,不同命名空间的导入元素正在占用父级的目标命名空间

我正在尝试通过MavenJAXB插件生成POJO来解析我得到的XML。我的XML中有一个根级元素,它有一个不同于其中其他元素的namespace。以下是XML:由于FlattenedSKU和SKU位于不同的命名空间中。因此,我为FlattenedSKU下的所有元素声明了一个单独的XSD,然后将其导入到父元素中。XSD看起来像这样:sku_wrapper.xsd子xsd如下:sku.xsd现在生成的java类如下所示:@XmlRootElement(name="FlattenedSKU",namespace="http://www.abc/schemas/xyz/sdf/Schemas/

java - JAXB - 将带有命名空间的 XML 发送到 SpringBoot 中的 REST Controller

我正在将xml发布到我的springboot应用程序并将其接收到PojoJaxb并返回响应。我能够成功地做到这一点,但是如果我传递带有命名空间的xml,我得到的响应代码为406,响应正文为无内容。我尝试了各种方法在我的Pojo中添加命名空间,甚至尝试将它添加到package-info中,但我无法找到让它工作的方法,请指教。下面是一个没有命名空间的简单xml的工作示例PojoEmployee.java@XmlRootElement(name="Employee")publicclassEmployee{privateintid;privateStringname;privatefloat

java - 在 JaxB 编码没有 @XmlRootElement 注释的元素时删除 ns2 前缀

我有一个要编码的对象,但架构没有@XmlRootElement注释。@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="")publicstaticclassFoo{@XmlAttribute(name="test1")publicfinalstaticStringTEST_1="Foo";@XmlElement(name="Element1",required=true)protectedStringelement1;@XmlElement(name="Element2",required=true)protectedStringe