【问题标题】:C# validate XML document case insenstiveC# 验证 XML 文档不区分大小写
【发布时间】:2012-05-22 16:39:40
【问题描述】:

使用 xmlreader 验证 xml 始终是区分大小写的,是否可以进行不区分大小写的验证?即,如果架构中的元素名称为“FirstName”,则应验证名称为“Firstname”的 xml。

【问题讨论】:

  • XML 在设计上是区分大小写的。正如this link 所述,您可以在验证之前根据需要运行 XSLT 来转换元素大小写。

标签: c# xml


【解决方案1】:

Xml 是区分大小写的语言,所以它不会是真正的 XML 验证...

最简单的方法是将所有文本读取为文本,转换为大写,然后将结果字符串作为 XML 加载。

另一种选择是实现您自己的基于TextReader 的类(包装基本TextReader)并将所有字母大写。对于大型 XML 文档会更好。

【讨论】:

    【解决方案2】:

    您可能已经注意到,XML 区分大小写。因此,使验证不区分大小写的一种方法是使模式不区分大小写。在架构中,尝试使用具有以下内容的模式,而不是 FirstName:[Ff][Ii][Rr][Ss][Tt][Nn][Aa][Mm][Ee]。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      相关资源
      最近更新 更多