2012-05-22 27 views
0

使用xmlreader驗證xml始終是大小寫敏感的,是否有可能具有無效驗證的情況?即如果模式中的元素名稱是'FirstName',則應該驗證名稱爲'Firstname'的xml。C#驗證XML文檔不區分大小寫

+0

XML通過設計區分大小寫。正如[此鏈接](http://stackoverflow.com/questions/9334771/case-insensitive-xml-parser-in-c-sharp)所述,您可以在驗證之前運行XSLT以根據需要轉換元素大小寫。 –

+0

你可以修改模式嗎? – seekerOfKnowledge

+0

對此有何更新? – seekerOfKnowledge

回答

1

XML是大小寫敏感的語言,所以它不會是真正的XML驗證...

最簡單的將是閱讀所有文字,文本,轉換爲大寫,比載荷引起的字符串作爲XML。

另一種選擇是實現您自己的基於TextReader的類(包裝基本TextReader)和大寫的所有字母。對於大型XML文檔會更好。

0

正如您可能已經注意到的那樣,XML區分大小寫。因此,使驗證案例不敏感的一種方法是使模式不區分大小寫。在架構中,而不是FirstName,嘗試使用以下模式:[Ff] [Ii] [Rr] [Ss] [Tt] [Nn] [Aa] [Mm] [Ee]。