【问题标题】:Reading XML in C# when file already present in Visual Studio project当文件已存在于 Visual Studio 项目中时,在 C# 中读取 XML
【发布时间】:2013-12-24 23:27:19
【问题描述】:

我有问题。不是很大,但没有找到任何答案。

我想在文件 Data.xml 中处理一些键值对,并将其保存在根级别。 当我尝试使用下面的代码时。

XDocument xmlDoc = new XDocument();
xmlDoc.Load("Data.xml");

不是在项目根级别检查,而是检查其他位置。我尝试了当前目录和 environment.current 路径。但这没有帮助。 我不想指定完整路径。因为当应用程序上线时,我不想更改它。 我需要使用 data.xml 以便如果值发生更改,我们将只替换 data.xml 以便获取新值。

【问题讨论】:

  • 仅供参考,如果您提到您使用的是 ASP.NET,那么您可能会更早收到答复。

标签: c# asp.net xml c#-4.0 linq-to-xml


【解决方案1】:

它正在查看应用程序正在运行的当前目录(bin\release 或 bin\debug)。您要做的是确保您在项目中将该 XML 文件设置为 Copy to Output Directory

您可能希望在名称参数前加上 Application.StartupPath() 以保持刚性。

【讨论】:

  • ...并确保将其包含在您的项目中。
  • 你能定义“它没有用”吗?我看到你在别处得到了答案。当我解释您的问题时,我的回答解决了问题,也许问题中缺少信息。
  • 正如@JohnSaunders 指出的那样,我希望我们知道这是 ASP.NET。
【解决方案2】:

我从另一个帖子中得到了答案。 Click here

可以使用以下代码。

string dirpath = System.Web.HttpContext.Current.Server.MapPath("~/Data.xml");

XDocument xmlDoc = new XDocument();
xmlDoc.Load(dirpath);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 2013-10-18
    • 1970-01-01
    相关资源
    最近更新 更多