我的文件中包含xml
。该路径中包含一个字符“ñ”,但在保存到文件之前,完整路径已经url
编码,因此该字符与路径中的许多其他字符一起编码。
我尝试使用以下代码加载文件,并且Exists部分成功,但Load()
调用失败并带有
System.ArgumentException:路径中的非法字符。
if (File.Exists(path))
{
var xd = new XmlDocument();
xd.Load(path);
}
我有一堆这些文件正在使用url编码,但只有这些重音字符才会导致问题。
有什么想法吗?
答案 0 :(得分:0)
如果我没弄错,你的问题与编码有关。 Load
方法默认为UTF-8,它以不同方式解释特殊字符。解决此问题的一种方法是将IO.Files.ReadAllText(path)
传递给LoadXml
的{{1}}方法:
XmlDocument
答案 1 :(得分:0)
可能是您的文件路径格式为:... \ User \ Documents ....尝试在每个目录更改时添加额外的'\'。例如:.. \\ User \\ Documents。