源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# 写入XML文档三种方法详细介绍

  • 时间:2021-09-04 18:39 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# 写入XML文档三种方法详细介绍
我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ to XML对XML进行操作。它们分别使用了XmlDocument类和XDocument类。在本文中,我再介绍一个类,XmlTextWriter。我们分别用这三个类将同样的xml内容写入文档,看一看哪种写法最直观、简便。 我们要写入的XML文档内容为
[u]复制代码[/u] 代码如下:
<?xml version="1.0" encoding="UTF-8"?> <Contacts> <Contact id="01"> <Name>Daisy Abbey</Name> <Gender>female</Gender> </Contact> </Contacts>
[b](1)使用XmlDocument类[/b]:
[u]复制代码[/u] 代码如下:
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");
[b](2)使用LINQ to XML 的XDocument类[/b]:
[u]复制代码[/u] 代码如下:
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");
[b](3) 使用XmlTextWriter类[/b]:
[u]复制代码[/u] 代码如下:
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(); }
从上面的代码基本上还是可以看出来,使用LINQ to XML是最简便的。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部