国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C# 寫入XML文檔三種方法詳細(xì)介紹

2020-01-24 03:37:52
字體:
供稿:網(wǎng)友
我在以前的博客中介紹了如何使用XmlDocument類對(duì)XML進(jìn)行操作,以及如何使用LINQ to XML對(duì)XML進(jìn)行操作。它們分別使用了XmlDocument類和XDocument類。在本文中,我再介紹一個(gè)類,XmlTextWriter。我們分別用這三個(gè)類將同樣的xml內(nèi)容寫入文檔,看一看哪種寫法最直觀、簡便。
我們要寫入的XML文檔內(nèi)容為
復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<Contacts>
<Contact id="01">
<Name>Daisy Abbey</Name>
<Gender>female</Gender>
</Contact>
</Contacts>

(1)使用XmlDocument類
復(fù)制代碼 代碼如下:

var xmlDoc = new XmlDocument();
//Create the xml declaration first
xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null));
//Create the root node and append into doc
var el = xmlDoc.CreateElement("Contacts");
xmlDoc.AppendChild(el);
// Contact
XmlElement elementContact = xmlDoc.CreateElement("Contact");
XmlAttribute attrID = xmlDoc.CreateAttribute("id");
attrID.Value = "01";
elementContact.Attributes.Append(attrID);
el.AppendChild(elementContact);
// Contact Name
XmlElement elementName = xmlDoc.CreateElement("Name");
elementName.InnerText = "Daisy Abbey";
elementContact.AppendChild(elementName);
// Contact Gender
XmlElement elementGender = xmlDoc.CreateElement("Gender");
elementGender.InnerText = "female";
elementContact.AppendChild(elementGender);
xmlDoc.Save("test1.xml");

(2)使用LINQ to XML 的XDocument類
復(fù)制代碼 代碼如下:

var doc = new XDocument(
new XElement("Contacts",
new XElement("Contact",
new XAttribute("id", "01"),
new XElement("Name", "Daisy Abbey"),
new XElement("Gender", "female")
)
)
);
doc.Save("test2.xml");

(3) 使用XmlTextWriter類
復(fù)制代碼 代碼如下:

String filename = String.Concat("test3.xml");
using (StreamWriter sw = new StreamWriter(filename))
{
// Create Xml Writer.
XmlTextWriter xmlWriter = new XmlTextWriter(sw);
// 也可以使用public XmlTextWriter(string filename, Encoding encoding)來構(gòu)造
// encoding默認(rèn)為 UTF-8.
//XmlTextWriter writer = new XmlTextWriter("test3.xml", null);
// Set indenting so that its easier to read XML when open in Notepad and such apps.
xmlWriter.Formatting = Formatting.Indented;
// This will output the XML declaration
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("Contacts");
xmlWriter.WriteStartElement("Contact");
xmlWriter.WriteAttributeString("id", "01");
xmlWriter.WriteElementString("Name", "Daisy Abbey");
xmlWriter.WriteElementString("Gender", "female");
// close contact </contact>
xmlWriter.WriteEndElement();
// close contacts </contact>
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
}

從上面的代碼基本上還是可以看出來,使用LINQ to XML是最簡便的。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泸州市| 柳州市| 连南| 甘谷县| 桐乡市| 红原县| 龙川县| 桂阳县| 揭阳市| 浮梁县| 汤原县| 望城县| 平湖市| 额尔古纳市| 昌平区| 鲁甸县| 垫江县| 通化县| 彭阳县| 靖宇县| 宽甸| 新巴尔虎右旗| 山阴县| 拜泉县| 丰县| 林甸县| 团风县| 大安市| 阳新县| 陆良县| 泸州市| 永顺县| 色达县| 和田市| 元谋县| 弥渡县| 丰原市| 松阳县| 清新县| 张掖市| 尼勒克县|