使用XSD文件我已经生成了JAXB类,最后通过这些JAXB类进行编组以生成XML文件。但输出是这样的: -
<Central_Case_Id xsi:nil="true" xmlns:xsi="http://www.w3.org/xmls_schema-instance"/>
XML中每个should元素的预期输出应该是这样的: - [代码=的java] [/代码]
我在互联网上做了很多搜索,我将xsd属性,elementFormDefault更改为&#34;不合格&#34;并且还将attributeFormDefault属性添加到限定和非限定,但没有任何作用。
XSD: -
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="ICMS" targetNamespace="ICMS"
elementFormDefault="qualified">
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="Case_Detail" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Case_Detail">
<xs:complexType>
<xs:sequence>
<xs:element ref="Central_Case_ID"/>
<xs:element ref="Agency_Case_ID"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Central_Case_ID" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Agency_Case_ID" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
每个元素的预期输出为: -
<Central_Case_Id></Central_Case_Id>
您能否告诉我XSD文件或编组中的哪些属性可以帮助我实现这一目标?我的要求是XML中的任何元素都不应该包含任何命名空间/属性,即使它是空值或空值。
由于
答案 0 :(得分:1)
因为在你的XSD中你有nillable =“true”。从XSD中删除它,重新生成JAXBElements,然后检查输出。