我只是使用“umashall” - XSD 验证:
<xs:complexType>
<xs:sequence maxOccurs="50">
<xs:element name="docZip">
<xs:annotation>
<xs:documentation>Informação resumida ou documento fiscal eletrônico de interesse da pessoa ou empresa. O conteúdo desta tag estará compactado no padrão gZip. O tipo do campo é base64Binary.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:any processContents="skip">
<xs:annotation>
<xs:documentation>Estrutura genérica do documento fiscal eletrônico</xs:documentation>
</xs:annotation>
</xs:any>
</xs:sequence>
<xs:attribute name="NSU" type="TNSU" use="required">
<xs:annotation>
<xs:documentation>NSU do documento fiscal</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="schema" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>Identificação do Schema XML que será utilizado para validar o XML existente no campo seguinte. Vai identificar o tipo do documento e sua versão. Exemplos: resNFe_v1.00.xsd, procNFe_v3.10.xsd, resEvento_1.00.xsd, procEventoNFe_v1.00.xsd</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
我有一个异常(exception):
[org.xml.sax.SAXParseException: cvc-complex-type.2.3: Element 'docZip' cannot have character [children], because the type's content type is element-only.]
有人知道这是怎么回事吗?
最佳答案
看起来,当您尝试解码使用上述 xsd
的服务响应或请求 xml
时,该 xml 具有 'docZip'
元素中包含一些文本,其他文本包含它的子元素。如下图。
<docZip>
Text which is not allowed
<childElement>
</chilElement>
</docip>
这就是 xsd 验证失败的原因。因此,捕获实际的 xml 并查看 docZip 元素内是否没有直接文本
有关此错误的更多详细信息,请参阅 this链接
关于java - 错误: org. xml.sax.SAXParseException : cvc-complex-type. 2.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30810825/