【问题标题】:XElement.Load doesn't load the path [closed]XElement.Load 不加载路径 [关闭]
【发布时间】:2013-07-18 12:26:03
【问题描述】:

我有一个以通用 C:\Users...\myXmlFile.xml 开头的路径,我正在尝试使用

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

但它不会加载它并显示:

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

我找到了原因,但我无法解决它。问题是在路径中的某些文件夹中,有一个文件夹,单词之间有空格和破折号。示例 C:\users\my - 文件夹 - 不工作 - work\otherFolder\myXmlFile.xml

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

【问题讨论】:

  • 尝试加载任何合适的 XML... 我觉得您的 XML 已损坏。
  • 请显示myXmlFile.xml的内容
  • 是的。文件有问题。抱歉。

标签: c# xml xelement


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    试试,

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

    【讨论】:

      猜你喜欢
      • 2011-03-05
      • 1970-01-01
      • 2021-11-26
      • 2012-08-15
      • 1970-01-01
      • 2021-10-24
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多