XmlDocument.Load在我的文件路径中找到非法字符

时间:2017-03-31 04:24:39

标签: c# .net xml xmldocument

我的文件中包含xml。该路径中包含一个字符“ñ”,但在保存到文件之前,完整路径已经url编码,因此该字符与路径中的许多其他字符一起编码。

我尝试使用以下代码加载文件,并且Exists部分成功,但Load()调用失败并带有

  

System.ArgumentException:路径中的非法字符。

if (File.Exists(path))
{
    var xd = new XmlDocument();
    xd.Load(path); 
}

我有一堆这些文件正在使用url编码,但只有这些重音字符才会导致问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果我没弄错,你的问题与编码有关。 Load方法默认为UTF-8,它以不同方式解释特殊字符。解决此问题的一种方法是将IO.Files.ReadAllText(path)传递给LoadXml的{​​{1}}方法:

XmlDocument

答案 1 :(得分:0)

可能是您的文件路径格式为:... \ User \ Documents ....尝试在每个目录更改时添加额外的'\'。例如:.. \\ User \\ Documents。