【问题标题】:Get path from XML File using C#使用 C# 从 XML 文件中获取路径
【发布时间】:2016-11-17 17:31:04
【问题描述】:

我需要使用 C# 从 XML 文件中获取 C:\SourceFiles\ 路径。

我一直在尝试不同的转义方法,但似乎都无法正常工作。

我试过这些:

@"C:\SourceFiles\ or C:\\SourceFiles\\ or "C:\\SourceFiles\\" and 'C:\SourceFiles'

从 XML 文件读取时,这些似乎都不起作用。

XmlDocument xDoc = new XmlDocument();
        xDoc.Load(strpath);

        string strsourceDirectory = xDoc.SelectSingleNode("Application/Setup/SourceDirectory").InnerText;

这是 XML 文件:

<Application>
<Setup>
 <SourceDirectory>"C:\SourceFiles\"</SourceDirectory>
 <DestinationDirectory>@"C:\DestinationFiles\"</DestinationDirectory>
</Setup>

如果有人用 C# 和 XML 文件完成了这项工作,请告诉我你是如何做到的。

谢谢,

【问题讨论】:

  • 调用xDoc.Load(strpath)时是否出现错误或异常?还有strpath的值是多少?

标签: c# xml path


【解决方案1】:

您的 XML 文件无效。您需要转义反斜杠\\ 并关闭Application 标签:

<Application>
    <Setup>
        <SourceDirectory>C:\\SourceFiles\\</SourceDirectory>
        <DestinationDirectory>C:\\DestinationFiles\\</DestinationDirectory>
    </Setup>
</Application>

有了这个有效的 XML,您将能够使用您的代码获取路径:

string strsourceDirectory =
    xDoc.SelectSingleNode("Application/Setup/SourceDirectory").InnerText;

【讨论】:

  • 抱歉,看起来我的 XML 文件代码在粘贴操作期间被删除了最后一行。我确实有一个正确的带有开头和结尾的 XML 文件。我还将它添加到 XML 文件 C:\\SourceFiles\\,但它给了我这个 C:\\\\SourceFiles\\\\,所以你能帮我快速检查一下,看看你是否得到不同的结果。感谢您回复我的帖子。
  • 我确实重新检查了它,即使有额外的反斜杠,它现在也可以在我的代码给我一个无效路径错误之前工作。感谢您的帮助,它现在正在工作。
猜你喜欢
  • 1970-01-01
  • 2010-10-14
  • 1970-01-01
  • 2014-10-15
  • 1970-01-01
  • 2011-02-01
  • 2016-06-06
  • 2012-12-23
  • 2020-05-11
相关资源
最近更新 更多