- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在努力获取一个 xml 文件以根据 XSD 架构进行验证,但我在验证时遇到了问题。每次我验证时都会收到错误提示
“模式有效性错误:元素‘{http://services.website.com/ProgramResponse}Population’:‘’不是原子类型‘xs:double’的有效值。”
我认为发生此错误是因为我在该字段中有一个空字符,显示如下:
因此,为了解决这个问题,我尝试对元素使用 nillable="true"属性,这样它们就可以为空,但仍显示为空。这似乎是唯一的解决方案,但它根本不起作用。我仍然收到错误。
我目前正在使用 XMLMate 进行验证,并且我还通过几个在线验证器对其进行了双重检查。错误仍然存在。任何建议都会很棒。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:element name="Reports" type="tns:ReportsType"/>
<xsd:complexType name="ReportsType">
<xsd:sequence>
<xsd:element name="Report" type="tns:ReportType" maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ReportType">
<xsd:sequence>
<xsd:element name="Id" nillable="true"/>
<xsd:element name="Brand" type="xsd:string"/>
<xsd:element name="Address" type="xsd:string"/>
<xsd:element name="City" type="xsd:string"/>
<xsd:element name="State" type="xsd:string"/>
<xsd:element name="ZipCode" type="xsd:string"/>
<xsd:element name="Entry" type="tns:EntryType" maxOccurs="unbounded" minOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="EntryType">
<xsd:sequence>
<xsd:element name="RM" nillable="true" type="xsd:double"/>
<xsd:element name="Pop" nillable="true" type="xsd:double"/>
<xsd:element name="Wt" nillable="true" type="xsd:double"/>
<xsd:element name="EntryId" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
最佳答案
像< HarvPop>< /HarvPop>
这样的节点说明该值在那里并且它的值是一个空字符串。
基于此 w3.org 页面上的信息:http://www.w3.org/TR/xmlschema-0/#Nils
nillable 属性是这样使用的:
定义: <xsd:element name="shipDate" type="xsd:date" nillable="true"/>
用法: <shipDate xsi:nil="true"></shipDate>
即您必须明确声明该值为空。
另一种方法是声明 minoccurs = 0,以允许缺失值。
关于xml - XSD 属性 NILLABLE 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6831428/
有没有办法让 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 : 在上面的例子
我是一名优秀的程序员,十分优秀!