当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-16

    本文导语:  我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ to XML对XML进行操作。它们分别使用了XmlDocument类和XDocument类。在本文中,我再介绍一个类,XmlTextWriter。我们分别用这三个类将同样的xml内容写入文...

我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ to XML对XML进行操作。它们分别使用了XmlDocument类和XDocument类。在本文中,我再介绍一个类,XmlTextWriter。我们分别用这三个类将同样的xml内容写入文档,看一看哪种写法最直观、简便。
我们要写入的XML文档内容为
代码如下:




Daisy Abbey
female



(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
xmlWriter.WriteEndElement();
// close contacts
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
}

从上面的代码基本上还是可以看出来,使用LINQ to XML是最简便的。

    
 
 

您可能感兴趣的文章:

  • C#中怎样将数据表中新添加的一列数据相加,再写入另一个表中。
  • C# 创建文本文件写入读取实现代码
  • c#实现把异常写入日志示例(异常日志)
  • C#实现写入与读出文本文件的实例代码
  • C#读取EXCEL文件内容写入数据库的代码
  • C# zxing二维码写入的实例代码
  • C# 写入XML文档的三种方法与代码实例
  • c# 读取与写入Excel的代码
  • c#如何写入和读取cookie
  • C#读取HTML文件内容写入记事本的代码
  • 基于C#中XmlWriter写入Xml的深入分析
  • C#操作cookie的例子(读取、删除、写入)
  • C#通过XML节点属性/属性值读取写入XML操作代码实例
  • C# Hashtable/Dictionary写入和读取对比详解
  • 能用JAVA把WORD文档转为TXT或是直接写入XML文件吗?具体如何作呢?谢谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问,去会字符串型的日期,如何转化成datetime型从而写入数据库?如果不转换,能写入吗?(多谢)?
  • 对于自己写的文件系统,自己写格式化程序时除了写入dbr,还要向系统写入什么信息.
  • 写入Access2000出现No ResultSet was produced错误,但数据已经写入,部分语句如下:
  • 如何确定数据已经从内核缓冲区写入磁盘了?
  • 故障求助:linux系统无法向磁盘写入文件
  • 在Applet中怎么样象硬盘写入一个文本文件?
  • 如何用java对paradox写入数据?
  • 请教:写入队列消息的长度问题
  • 如何把一个文本内的内容一次性写入crontab里
  • 日志写入命名管道的权限问题
  • img文件系统如何写入开发板
  • 如何判断文件正在被写入
  • 请问在JSP中如何写入和读出Session中的变量
  • window写入缓存失败是什么原因
  • 多进程问题 子进程读取内容 读完挂起,父进程写 写入后唤醒子进程
  • syslog函数无法写入日志信息
  • applet怎样进行文件写入读出操作
  • 怎样把回车写入文件中?
  • 关于Oracle BLOB类型,一个String字符怎么写入BLOB字段?
  • 请问在QT中怎样将一个QString型的字串写入FILE文件中???


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3