c#讀寫Xml文件
阿新 • • 發佈:2017-08-05
引用 use 記錄 一行 tar desktop for 單個 contacts
寫入xml文件
第一種方法:使用XmlDocument類:
Demo1
//通過代碼創建XML文檔
//1、引用命名空間 System.Xml
//2、創建一個 xml 文檔
XmlDocument xml = new XmlDocument();
//3、創建一行聲明信息,並添加到 xml 文檔頂部
XmlDeclaration decl = xml.CreateXmlDeclaration("1.0", "utf-8", null);
xml.AppendChild(decl);
//4、創建根節點
XmlElement rootEle = xml.CreateElement("人");
xml.AppendChild(rootEle);
//5、創建子結點|屬性:性別
XmlElement childEle = xml.CreateElement("性別");
rootEle.AppendChild(childEle);
XmlElement c2Ele = xml.CreateElement("男");
c2Ele.InnerText = "1";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("女");
c2Ele.InnerText = "0";
childEle.AppendChild(c2Ele);
//6、創建子節點|屬性:四肢
childEle = xml.CreateElement("胳膊");
rootEle.AppendChild(childEle);
c2Ele = xml.CreateElement("右胳膊");
c2Ele.InnerText = "一般";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("左胳膊");
c2Ele.InnerText = "一般";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("左退");
c2Ele.InnerText = "粗壯";
childEle.AppendChild(c2Ele);
c2Ele = xml.CreateElement("右腿");
c2Ele.InnerText = "粗壯";
childEle.AppendChild(c2Ele);
xml.Save(@"C:\Users\Administrator\Desktop\Test\test.xml");
-----------------------------------------------------------------------------------------------
Demo2
try
{
//初始化一個xml實例
XmlDocument myXmlDoc = new XmlDocument();
//創建xml的根節點
XmlElement rootElement = myXmlDoc.CreateElement("Computers");
//將根節點加入到xml文件中(AppendChild)
myXmlDoc.AppendChild(rootElement);
//初始化第一層的第一個子節點
XmlElement firstLevelElement1 = myXmlDoc.CreateElement("Computer");
//填充第一層的第一個子節點的屬性值(SetAttribute)
firstLevelElement1.SetAttribute("ID", "11111111");
firstLevelElement1.SetAttribute("Description", "Made in China");
//將第一層的第一個子節點加入到根節點下
rootElement.AppendChild(firstLevelElement1);
//初始化第二層的第一個子節點
XmlElement secondLevelElement11 = myXmlDoc.CreateElement("name");
//填充第二層的第一個子節點的值(InnerText)
secondLevelElement11.InnerText = "Lenovo";
firstLevelElement1.AppendChild(secondLevelElement11);
XmlElement secondLevelElement12 = myXmlDoc.CreateElement("price");
secondLevelElement12.InnerText = "5000";
firstLevelElement1.AppendChild(secondLevelElement12);
XmlElement firstLevelElement2 = myXmlDoc.CreateElement("Computer");
firstLevelElement2.SetAttribute("ID", "2222222");
firstLevelElement2.SetAttribute("Description", "Made in USA");
rootElement.AppendChild(firstLevelElement2);
XmlElement secondLevelElement21 = myXmlDoc.CreateElement("name");
secondLevelElement21.InnerText = "IBM";
firstLevelElement2.AppendChild(secondLevelElement21);
XmlElement secondLevelElement22 = myXmlDoc.CreateElement("price");
secondLevelElement22.InnerText = "10000";
firstLevelElement2.AppendChild(secondLevelElement22);
//將xml文件保存到指定的路徑下
myXmlDoc.Save(@"C:\Users\Administrator\Desktop\Test\test.xml");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
第二種方法:使用XmlTextWriter類:
//XmlTextWriter寫文件的時候, 默認是覆蓋以前的文件, 如果此文件名不存在,它將創建此文件.首先設置一下,你要創建的XML文件格式,
//然後可以通過WriteStartElement和WriteElementString方法來創建元素,這兩者的區別就是如果有子結點的元素,那麽創建的時候就用WriteStartElement,然後去創建子元素,創建完畢後,要調用相應的WriteEndElement來告訴編譯器,創建完畢,用WriteElementString來創建單個的元素,用WriteAttributeString來創建屬性.如下:
XmlTextWriter myXmlTextWriter = new XmlTextWriter(@"C:\Users\Administrator\Desktop\Test\test.xml", null);
//使用 Formatting 屬性指定希望將 XML 設定為何種格式。 這樣,子元素就可以通過使用 Indentation 和 IndentChar 屬性來縮進。
myXmlTextWriter.Formatting = Formatting.Indented;
myXmlTextWriter.WriteStartDocument(false);
myXmlTextWriter.WriteStartElement("日期");
myXmlTextWriter.WriteComment("這是廚房的下單記錄");
myXmlTextWriter.WriteStartElement("申購單");
myXmlTextWriter.WriteAttributeString("部門", "中廚房");
myXmlTextWriter.WriteAttributeString("申購人", "趙亮");
for (int i = 0; i < 10; i++)
{
myXmlTextWriter.WriteElementString("編號", "0001");
myXmlTextWriter.WriteElementString("編碼", "gcxg");
myXmlTextWriter.WriteElementString("名稱", "國產西瓜");
myXmlTextWriter.WriteElementString("規格", "4只/每箱");
myXmlTextWriter.WriteElementString("單價", "88.5");
myXmlTextWriter.WriteElementString("單位", "箱");
myXmlTextWriter.WriteElementString("數量", "5");
myXmlTextWriter.WriteElementString("金額", "450");
myXmlTextWriter.WriteElementString("備註", "要熟的");
}
myXmlTextWriter.Flush();
myXmlTextWriter.Close();
第三種方法:使用LINQ to XML 的XDocument類:
var doc = new XDocument(new XElement("Contacts",
new XElement("Contact", new XAttribute("id", "01"),
new XElement("Index", "0001"),
new XElement("Code", "gcxg"),
new XElement("Name", "國產西瓜"),
new XElement("spec", "4只/每箱"),
new XElement("Price", "80"),
new XElement("Unit", "箱"),
new XElement("Number", "4"),
new XElement("Total", "320"),
new XElement("Remakes", "要熟的")
)));
doc.Save(@"C:\Users\Administrator\Desktop\Test\test.xml");
c#讀寫Xml文件