- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我使用 JAXB 2.2.4 生成具有以下绑定(bind)文件的 Java 代码:
<bindings xmlns="http://java.sun.com/xml/ns/jaxb" version="2.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<globalBindings generateElementProperty="false">
</globalBindings>
不幸的是,生成的代码有一个 nillable = true 注释。请参阅以下示例:
@XmlElement(name = "ArtID", nillable = true)
protected STEBeitrag artID;
这是 STEBeitrag 的定义:
<xsd:complexType name="CT_Beitrag">
<xsd:complexContent>
<xsd:extension base="allgemein:CT_Objekt">
<xsd:sequence>
<xsd:element name="ArtID" type="daten:STE_Beitrag" minOccurs="0" maxOccurs="1" nillable="true"/></xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="STE_Beitrag" abstract="true">
<xsd:simpleContent>
<xsd:extension base="xsd:string"/>
</xsd:simpleContent>
</xsd:complexType>
如果我没有在生成的 CT_Beitrag 对象中设置 ArtID,那么解码器会产生类似于
的输出<ns:ArtID xsi:nil="true"/>
元素 ArtID 具有抽象类型,因此此 XML 输出无效。
如何使用 JAXB 生成省略 XmlElement 注释中的 nillable=true 的代码?顺便说一下,架构无法更改。
最佳答案
我没有解决方案,但是这个问题在 bug 中得到了解决 http://java.net/jira/browse/JAXB-890我希望这个问题能得到解决。
关于java - JAXB 生成 nillable=true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6548062/
有没有办法让 JAXB 正确打印 xmlns:xsi和 xsi:nill在 nillable @XmlRootElement ? public class XmlValueTest { pub
我有一个客户要求我的 required字符串元素有 nillable="false" , 目前 wsdl 中的所有字符串都会nillable="true" 出来, IE: 我该如何更改 nillab
为了避免值被包裹在 JAXBElement ,我使用以下绑定(bind)文件从 XSD 生成类: 但是,nillable 有问题。字段。对于以下 XSD:
我有一个无法修改的简单XSD(由第三方提供)。我正在尝试使用 XJC 为 XSD 生成 java 类。非常简化的 XSD 是: 我想将一个对象编码为 XML,以便将元素设置为 nil。当我
我使用 JAXB 2.2.4 生成具有以下绑定(bind)文件的 Java 代码: 不幸的是,生成的代码有一个 nillable = true 注释。请参阅以下示例: @XmlElement(n
对于我的 Web 服务请求,我想区分请求的 null 值和缺少的标记。换句话说,我需要以下元素定义: 我开发了 web 服务代码优先,所以我使用 JAXBElementRef 定义了元素: @Xml
我有一个带有注释 nillable=true 的变量的类,我不希望它们出现在 xml 中。该类是从无法更改的 xsd 生成的。 例子:一个看起来像这样的类: public class Hi {
我正在努力获取一个 xml 文件以根据 XSD 架构进行验证,但我在验证时遇到了问题。每次我验证时都会收到错误提示 “模式有效性错误:元素‘{http://services.website.com/P
我刚和我的同事发现了一个关于 JAXB 的奇怪案例。 我用 @XmlElement(required = true) 声明了一个字段,默认为 nillable = false。 但我无意中试图编码一个
我正在创建一个 Web 服务并与 Axis2 生成契约(Contract)(WSDL),就像 POJO Web 服务一样,这反过来又给我这样的输出 而所需的是这个 是否有任何注释可以让我做到这一点
我正在重构一些代码以使用 JAXB 和反射将代码输出到客户端,它目前正在使用 XMLWriter 并且每次都手动创建标签。 我遇到的问题是,由于客户端的限制,对于 java 类中的任何空字段,我需要在
的文档 required 说: If required() is true, then Javabean property is mapped to an XML schema element dec
我反复将元素设置为 minOccurs="0" 和 nillable="true"。 我正在阅读 this文章和现在在我的 WSDL 中,我不确定同时使用两者是否值得。这篇文章提供了一个很好的示例来表
在我的 wsdl 中我有一个元素: 我知道 nillable true 允许空值,这是否意味着它可以允许 xml 空标记?即 最佳答案 设置nillable="true"意味着 标记可以如下所示:
这是我想根据以下 XML 架构验证的 xml 文件。 0123987654 In front of PNB 2002-09-24 XML 架构 在验证过程中,虽然
相当于什么 从 XML 到 JAVA?我正在研究 SOAP,所以我不得不问。 还有类似的元素 Java 中的对象需要这些吗?或者我可以直接为它们分配空值吗? 最佳答案 在 Java 中,没有像
Java 类 @XmlElement(nillable = true) 中的变量前面是什么意思。是不是说xml中的字段是可选的? 例如:@XmlElement(nillable = true) pro
这是一个错误吗? 我的 xsd 架构中需要 nillable = "true"。从我的 java 代码生成这样一个元素的唯一方法是使用 @XmlElement(nillable = true),对吗?
我正在使用 JAX-WS 创建 Web 服务。它是使用 sun-jaxws.xml 从 @WebService 带注释的类创建的。 我对某些字段有一个新要求,既可选又可为空。对于这样的字段,如果传递了
目前我正在使用 javax.xml.validation.Validator 来根据给定的 xsd 验证 xml。 Sample xsd: xml : 在上面的例子
我是一名优秀的程序员,十分优秀!