我正在使用带有附加XSD的XmlReader进行验证。在C#中,如何确定元素的XSD定义的MaxLength
随着我的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>
我可以很容易地得到“的minOccurs”值使用:
myReader.SchemaInfo.SchemaElement.MinOccurs;
但我怎么得到“最大长度”值(值10在我的例子片段上面)
我以为'myReader.SchemaInfo.SchemaElement.Constraints
'可能会给我这个信息,但是这个集合总是有一个'计数'为零。
感谢,
专利
+1不确定它是否解决了OP的问题,但仍然是非常有用的信息。 – 2009-10-20 16:55:58
雅虎 - 得到它的工作,这个答案正是我需要的信息!虽然我的代码由于无法获取此信息而变得复杂了一点。 '文本'节点,所以不得不跳到'EndElement'节点 - 但到底什么,它现在正在工作。太感谢了!! – 2009-10-20 17:38:42
2年后,这个答案仍然是我在SchemaInfo对象模型中找到的最好的信息。对于希望了解SchemaInfo对象的任何人来说,这都是很好的链接。需要一些工作来修改它以满足您的需求,但这是迄今为止我找到的唯一方法 – psubsee2003 2011-11-05 15:46:55