2014-12-04 53 views
0

我有一个问题,保存我的XML文件。 我使用这个XMLwriter:XML无法保存在asp.net

using (XmlWriter writer = XmlWriter.Create("CarsXML.xml")) 
      { 
       writer.WriteStartDocument(); 
       writer.WriteStartElement("CarsXml"); 
       foreach (Car item in cars) 
       { 
        writer.WriteStartElement("Car"); 
        writer.WriteElementString("Brand", item.Brand); 
        writer.WriteElementString("Type", item.Type); 
        writer.WriteElementString("Price", item.Price); 
        writer.WriteElementString("Effect", item.Effect); 
        writer.WriteElementString("Year", item.year); 
        writer.WriteEndElement(); 
       } 
       writer.WriteEndElement(); 
       writer.WriteEndDocument(); 
       writer.Close(); 

     } 

似乎好吧?没有编译错误.. 从来就也试过这只是用于测试:

XDocument doc = new XDocument(
    new XElement("Root", 
     new XElement("Child", "content") 
    ) 
); 
      doc.Save("Root.xml"); 

仍然没有运气..`VE在一个控制台应用程序TRID这一点,它的工作原理,因此代码必须是很好.. 我也尝试了一段我在某处找到的代码 - 使用XmlDocument代替 - 但它的交易。

我在做什么错了?

+0

究竟是什么问题? – jrummell 2014-12-04 21:25:50

+0

好吧,我可以有点更具体.. xml文件,不会保存/存储在任何地方。古法答案解决了它。 – OneBigQuestion 2014-12-04 21:29:08

回答

1

当您处于Web应用程序中时,当前目录不是Web应用程序的根目录。它是IIS可执行文件所在的目录,因此在Windows系统目录中。

当然,您无法从Web应用程序对该目录进行写入访问,因此当您尝试在那里创建文件时会遇到一些异常。

指定要创建的文件的完整路径。您可以使用MapPath方法从虚拟路径获取文件的物理路径。例如:

string fileName = Server.MapPath("/xmldata/CarsXML.xml"); 

using (XmlWriter writer = XmlWriter.Create(fileName)) 
    ... 
+0

谢谢:)做了诡计,猜测我有很多东西要学。我喜欢你,如果我可以,但我的评价是低。 – OneBigQuestion 2014-12-04 21:30:29