everyone。我正在使用Mono 2.4,Ubuntu 10.10開發一個小型的ASP.NET Mvc項目。有一個對象數組,每個對象都對應一個特定的xml文件。用XmlTextReader讀取xmls。這不起作用,因爲xml文件具有罕見的「cp866nav」編碼,XmlTextReader不支持(「System.ArgumentException: Encoding name 'cp866nav' not supported
」)。但是,如果在xml頭中編碼更改爲「cp866」,它會正常工作。我找到了一種解決方案,它包括用一個StreamReader初始化的XmlTextReader具有一定的編碼,而不是文件名,如下面的代碼:解析XML文件時的編碼問題
XmlTextReader reader = new XmlTextReader(new StreamReader(Server.MapPath(filename), Encoding.GetEncoding("cp866")));
的是,它包含XML文件的目錄是隻讀的問題(我不能改變它),所以我得到 「System.UnauthorizedAccessException: Access to the path '' is denied.
」。很奇怪,因爲用文件名初始化的XmlTextReader似乎讀取文件。
考慮到程序無法修改或創建文件,是否有解決方案?