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

我正在使用带有附加XSD的XmlReader进行validation。

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

       

我可以使用以下方法轻松获得’minOccurs’值:

 myReader.SchemaInfo.SchemaElement.MinOccurs; 

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

我认为’ myReader.SchemaInfo.SchemaElement.Constraints ‘可能会给我这个信息,但该集合的’Count’总是为零。

谢谢,

拍。

您将在此处找到: Accessing XML Schema Information During Document Validation ,以及如何执行此操作的更好解释。

有一些方法可以使用myReader.SchemaInfo(参见najmeddine的响应),但是如果您需要访问SchemaInfo对象中未公开的内容…

..XSD是一种XML语言。 您只需加载XSD文件并使用XPath找到“testing”元素的定义及其maxLength。