我發現這個使用XLINQ(LINQ to XML)加載XML的好教程。將對象數據插入本地xml文件
http://www.codearsenal.net/2012/07/c-sharp-load-xml-using-xlinq.html
它幫助了我很多,我用它做的工作。
我所做的唯一的變化是在那裏,他此行:
from e in XDocument.Load(@"..\..\Employees.xml").Root.Elements("employee")
我寫這樣的:
from el in XDocument.Load("XML_Files/Employees.xml").Root.Elements("employee")
我不得不改變這樣的路徑來訪問本地XML文件在我的Visual Studio項目中找到。
但現在我需要將數據保存回我的項目解決方案中的文件。同樣,我的xml文件位於我的C#項目中。它不在桌面或任何東西上,它是添加到項目解決方案中的文件。
我似乎無法找到任何有關如何完成此任務的好資源。有誰知道一個好的教程,或代碼,一個參考開始?
我將一個對象列表插入到xml文件中。這些對象具有基本的數據類型屬性,但其中一個對象屬性是雙精度對象屬性。
任何人都可以建議一個很好的教程或鏈接?甚至是一個通用的代碼示例?
我想保持此功能儘可能基本。
請幫忙。
------------------ UPDATE ------------------
事實上,我現在這種工作。下面的代碼完成我所需要的,除了它不會將數據寫入Visual Studio項目中的本地文件。但是,它很樂意將數據寫入我在桌面上創建的測試文件。
有誰知道這是爲什麼?
//create the serialiser to create the xml
XmlSerializer serialiser = new XmlSerializer(typeof(List<Student>));
// Create the TextWriter for the serialiser to use
TextWriter Filestream = new StreamWriter(@"C:\\Users\\MyName\\Desktop\\output.xml");
//write to the file
serialiser.Serialize(Filestream, employees);
// Close the file
Filestream.Close();
-------- --------- UPDATE
好了,想通了。
此代碼:
public void WriteXML()
{
//create the serialiser to create the xml
XmlSerializer serialiser = new XmlSerializer(typeof(List<Student>));
// Create the TextWriter for the serialiser to use
TextWriter Filestream = new StreamWriter(@"XML_Files\Employees.xml");
//write to the file
serialiser.Serialize(Filestream, employees);
// Close the file
Filestream.Close();
}
的數據插入到XML文件,但它並沒有在Visual Studio中顯示。但是當我在這裏檢查時:
C:\Users\Me\Desktop\MyProject\MyProject\bin\Debug\XML_Files
該文件被覆蓋。
此外,當我再次從應用程序重新載入數據時,新條目出現。
你檢查項目輸出目錄/路徑? @Zolt – Rezoan