【问题标题】:xmlTextWriter does not save the XML file to bin folderxmlTextWriter 不将 XML 文件保存到 bin 文件夹
【发布时间】:2012-11-07 07:13:53
【问题描述】:

我正在尝试创建一个 XML 文件来存储类中的一些信息。我将路径作为常量设置为Info.xml。但XMLTextWriter 并未将 XML 文件保存到 bin(debug/release) 文件夹,而是将其保存到 MyDocuments 文件夹。当我尝试使用File.Exists(path) 检查文件是否存在时,它返回false。有人可以在这里指导我吗?

我的代码如下...

string BookName = "Book1" 
string AuthorName= "Author1" 
XmlTextWriter writer = new XmlTextWriter("Info.xml", Encoding.UTF8);    writer.WriteStartDocument(); 
writer.WriteStartElement("Title"); 
writer.WriteString(BookName); 
writer.WriteStartElement("Author"); 
writer.WriteString(AuthorName); 
writer.WriteEndElement(); 
writer.WriteEndElement(); 
writer.WriteEndDocument(); 
writer.Close();

【问题讨论】:

  • 发布代码总是有帮助的......
  • 能贴出你用过的代码吗?
  • 我认为您可以使用 Application.StartupPath + Info.xml 来保存并读取或查找 File.Exists!比如Lineds.WriteXml(Application.StartupPath + @"//" + testPlanName + ".xml", XmlWriteMode.WriteSchema);

标签: c# .net xmltextwriter


【解决方案1】:

试试这个

    public void SerializeToXML(YourClass yourObj)
    {
        if (!File.Exists("C:\\Info.xml"))
            File.Create("C:\\Info.xml");
        XmlSerializer serializer = new XmlSerializer(typeof(YourClass));
        System.IO.TextWriter textWriter = new StreamWriter("C:\\Info.xml");
        serializer.Serialize(textWriter, yourObj);
        textWriter.Close();
    }

这会将“Info.xml”保存到您的 C:,无论是在调试中还是在发布中。 (如果文件不存在,它也会创建文件)。

也请查看此link,它可能会有所帮助。

【讨论】:

  • 大家好,感谢您的快速回复,
  • 我的代码如下所示...string BookName = "Book1" string AuthorName= "Author1" XmlTextWriter writer = new XmlTextWriter("Info.xml", Encoding.UTF8); writer.WriteStartDocument(); writer.WriteStartElement("标题"); writer.WriteString(BookName); writer.WriteStartElement("作者"); writer.WriteString(AuthorName); writer.WriteEndElement(); writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close();
  • 忘了说,我正在开发一个 COM 插件,Application.startupPath 给了我路径“C:\\Program Files (x86)\\Microsoft Office\\Office14”
  • @Sri 你是如何保存文件的?你能编辑你的问题并发布你的代码吗?如果您除了文件名作为路径之外没有提供任何内容,那么任何 com 应用程序都会将其保存在默认位置。
  • 嗨 Devraj,我已经用我正在使用的代码更新了我上面的问题。
猜你喜欢
  • 2018-04-25
  • 2011-10-10
  • 2012-08-31
  • 1970-01-01
  • 2016-03-11
  • 2013-01-29
  • 2015-09-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多