2013-10-10 35 views
1

我正在用C#編寫一個Windows窗體程序,我希望能夠將信息保存到XML文件。 當我第一次創建XML文件,我只是希望能夠廣告聲明創建空白XML文件,然後追加到它

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 

,然後根節點,我想所謂的「聯繫人」。

最後的文件應該是這樣的:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<Contacts> 
    <Contact> 
     <Name>name</Name> 
     <Address>address</Address> 
    <Contact> 
<Contacts> 

將有多個<Contact></Contact>元素。

我遇到的問題是當我第一次創建XML文件。

我的XML操作在他們自己的類中。 這是創建該文件的方法:

public void createFile() 
    { 
     if (!File.Exists(fileName)) 
     { 
      //Populate with data here if necessary, then save to make sure it exists 
      xmlFile = new XDocument(
       new XDeclaration("1.0", "utf-8", "yes"), 
       new XComment("XML File for storing " + RootName)); 
      xmlFile.Save(FileName); 
     } 
    } 

當我嘗試運行此,我得到一個ArgumentNullException是未處理的錯誤。

任何想法如何實際獲取文件中的數據並保存它? 感謝

+1

你有沒有考慮過調試?或者查看堆棧跟蹤來查看什麼是空的哪個參數。 –

回答

5

你需要的文件的根元素:

xmlFile.Add(new XElement("Contacts")); 

雖然你所得到的錯誤提示別的東西是怎麼回事。也許Filename爲空?

+0

我在新的XDocument語句之後添加了那個,並且仍然出現錯誤。該文件永遠不會被創建。似乎我必須用某些東西填充文件,但我不確定是什麼。 – RXC

+1

哪一行代碼會引發異常? – Chris

+0

xmlFile.Save(FileName)拋出錯誤。我發現這個問題,我從來沒有設置FileName,這是一個私人支持字段的公共訪問者。 – RXC

相關問題