使用C#创建XML文件

时间:2009-09-13 09:38:02

标签: c# .net xml

请建议我将XML文件保存到使用C#创建的应用程序的当前安装目录的方法。

4 个答案:

答案 0 :(得分:8)

  1. 创建XML文件:最简单的方法是创建和填充XmlDocument或XDocument对象。

  2. 保存到安装目录:使用

  3.    string path = System.IO.Path.GetDirectoryName(Application.ExecutablePath);  
       string file = System.IO.Path.Combine(pathm, "myfile.xml");
    

    但是你知道应用程序的文件夹不是存储文件的最佳位置,对吗?

    编辑:

    有些评论提到了隔离存储,但这太过分了。存储数据的最佳方法是使用适当的DataPath。在各种版本的Windows下,这是不同的,但这始终有效:

    string path = 
        Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    

    Environment.SpecialFolder枚举中还有一些其他值,请查看。

答案 1 :(得分:7)

使用XDocument和LINQ:

XDocument myXml = new XDocument(new XElement("Node 1", new XElement("Node 2")));
myXml.Save(Directory.GetCurrentDirectory() + "/myXML.xml");

XDocument myXml = new XDocument(new XElement("Node 1", new XElement("Node 2")));
myXml.Save(Path.GetDirectoryName(Application.ExecutablePath) + "/myXML.xml");

答案 2 :(得分:0)

StringBuilders和HttpUtility.HtmlEncode通常运行良好。

答案 3 :(得分:0)

并且,在你尝试了所有的东西之后仍然在摸不着头脑,想知道它为什么不起作用......

  1. 确保要保存的文件夹允许通过Web服务正在运行的帐户或用户编写(取决于您配置安全性的方式);这应该在NTFS级别完成。以前的建议说在应用程序文件夹中写入会很糟糕。不,这不会是坏事,在那里写作会非常愚蠢,而不仅仅是坏事。因此,选择其他地方来保存数据。理想情况下,在另一个物理卷上,或者更好的是:将XML文件发布到另一台服务器上的另一个应用程序,这个服务器只有很多人可以保存这些数据。
  2. 假设您知道如何在C#中创建XML文档(字符串不是 - 使用正确的方法来构建XmlDocument - 就像使用元素,节点和属性一样),您可以使用.Save方法
  3. 为什么不使用字符串???因为您将花费更多时间来调试“格式良好的XML”错误,而不是解决实际问题。人们在制作格式良好的XML方面很糟糕。机器非常擅长。