2014-12-04 54 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