在C#中,如何确定元素的XSD定义的MaxLength

Pat*_*ett 3 c# xsd maxlength

我正在使用XmlReader和附加的XSD进行验证.

在读取和验证我的XML文档时,我想在我的C#代码中确定XSD中为特定元素指定的"maxLength"值.例如,我的XSD片段非常简单地定义为:

<xsd:element name="testing" minOccurs="0">
    <xsd:simpleType>
        <xsd:restriction base="xsd:string">
            <xsd:maxLength value="10"/>
        </xsd:restriction>
    </xsd:simpleType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法轻松获取'minOccurs'值:

myReader.SchemaInfo.SchemaElement.MinOccurs;
Run Code Online (Sandbox Code Playgroud)

但是如何获得'maxLength'值(上面示例片段中的值为10)???

我以为' myReader.SchemaInfo.SchemaElement.Constraints'可能会给我这些信息,但是这个集合的'Count'总是为零.

谢谢,

拍.

man*_*nji 5

你会在这里找到:Accessing XML Schema Information During Document Validation如何做到这一点的一个很好的解释.