【发布时间】:2013-11-29 16:35:45
【问题描述】:
我正在尝试根据 XSD 验证我的 XML 文件,以检查文件是否具有正确的格式。
在我的 XSd 文件中,我希望 Row 元素包含尽可能多的任何元素,因此是 any 元素。
通过在线验证器,我检查了 XSD 的有效性,并检查了我想要检查的文件之一上的架构。一切都是有效的。 在线验证器是这个:http://www.utilities-online.info/xsdvalidation/
我的解析代码基于这个主题:c# XML Schema validation
我知道我的文件无效:Could not find schema information for the element <MYELEMENT>
没有找到的元素是我的Row元素内容中的。
完整的 .XSD 是:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Root">
<xs:complexType>
<xs:sequence>
<xs:element name="Row" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs='1' maxOccurs='unbounded' processContents="lax" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
我测试的 XML 是:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Root>
<Row>
<MODE_SAISIE_CT>'DEGRADE'</MODE_SAISIE_CT>
<MODE_STATUT>'F'</MODE_STATUT>
<MODE_LIBELLE>'Dégradé'</MODE_LIBELLE>
<DATE_MODE_DEGRADE>'17/08/2011 15:28:17'</DATE_MODE_DEGRADE>
</Row>
<Row>
<MODE_SAISIE_CT>'STANDARD'</MODE_SAISIE_CT>
<MODE_STATUT>'V'</MODE_STATUT>
<MODE_LIBELLE>'Standard'</MODE_LIBELLE>
<DATE_MODE_DEGRADE>'17/08/2011 15:53:06'</DATE_MODE_DEGRADE>
</Row>
</Root>
如果我的架构中有任何元素,我该如何管理解析?
【问题讨论】:
标签: c# xml validation xsd