XElement.Load不加载路径

时间:2013-07-18 12:26:03

标签: c# xml xelement

我有一个以常见的C:\ Users ... \ myXmlFile.xml开头的路径,我试图用

加载它
XElement.Load(@"C:\Users\...\myXmlFile.xml") 

但它没有加载它,它说:

  

根级别的数据无效。第1行,第1位。

我发现原因是什么,我无法解决。事情是,在路径中的某些文件夹中,有一个文件夹,在文字之间有空格和短划线。示例 C:\ users \ my - folder - doesnt - work \ otherFolder \ myXmlFile.xml

当我删除空格时它会起作用。

2 个答案:

答案 0 :(得分:2)

路径中的空格和短划线不会影响xml加载。如果找到文件会有问题,您会看到FileNotFoundException。因此错误说第一行的第一个位置有错误的数据,我认为你的xml文件甚至没有在文件开头的标记(应该从<符号开始)。

答案 1 :(得分:0)

尝试,

FileInfo file = new FileInfo(@"C:\Users\...\myXmlFile.xml");
if(file.Exists)
{
   XElement root = XElement.Load(file.Fullname);
   ...
}
else
   throw new FileNotFoundException(file.Fullname);