C# 三种写入XML文档的方法
2013-05-16 17:51
363 查看
原创地址:http://www.cnblogs.com/jfzhu/archive/2012/12/04/2800656.html
我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ
to XML对XML进行操作。它们分别使用了XmlDocument类和XDocument类。在本文中,我再介绍一个类,XmlTextWriter。我们分别用这三个类将同样的xml内容写入文档,看一看哪种写法最直观、简便。
我们要写入的XML文档内容为
(1)使用XmlDocument类:
(2)使用LINQ to XML 的XDocument类:
(3) 使用XmlTextWriter类:
我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ
to XML对XML进行操作。它们分别使用了XmlDocument类和XDocument类。在本文中,我再介绍一个类,XmlTextWriter。我们分别用这三个类将同样的xml内容写入文档,看一看哪种写法最直观、简便。
我们要写入的XML文档内容为
<?xml version="1.0" encoding="UTF-8"?> <Contacts> <Contact id="01"> <Name>Daisy Abbey</Name> <Gender>female</Gender> </Contact> </Contacts>
(1)使用XmlDocument类:
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类:
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类:
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)来构造 // encoding默认为 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(); }
相关文章推荐
- C# 写入XML文档三种方法详细介绍
- C# 写入XML文档三种方法详细介绍
- 在C#中使用三种不同的方法写入XML文档
- C# 写入XML文档三种方法详细介绍
- C#操作读取、写入XML文档的实用方法
- c# 读取 写入 xml 文档
- C#中处理XML文档的方法
- 操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP)
- python 6-4 如何构建xml文档使用标准库中的xml.etree.ElementTree 构建ElementTree,使用write方法写入文档
- C#中处理XML文档的方法
- C#利用XML创建Excel文档的实现方法
- C#中处理XML文档的方法
- C#中处理XML文档的方法[转载]
- C#中处理XML文档的方法
- C#中生成XML的三种方法
- C#中处理XML文档的方法
- C#中处理XML文档的方法
- 将XML文档写入数据库的两种方法
- 【转】C#中处理XML文档的方法
- C#获取远程XML文档的方法