.NET中书写XML的一种简单方法
2007-10-17 21:39
501 查看
XML是一项热门的技术。它之所以能够引起人们的兴趣,一个主要的原因在于它十分的简单,人们可以很容易地理解和使用它。每一个程序员都能轻易地看懂一个XML文件,理解它包含的内容。
.NET中包含了很多支持XML的类,这些类使得程序员使用XML编程就如同理解XML文件一样简单。在这篇文章中,我将给出这样的一个类的使用示例,这个类就是XmlTextWriter类。
XmlTextWriter类允许你将XML写到一个文件中去。这个类包含了很多方法和属性,使用这些属性和方法可以使你更容易地处理XML。为了使用这个类,你必须首先创建一个新的XmlTextWriter对象,然后你可以将XML片断加入到这个对象中。这个类中包含了不少的方法用于将各种类型的XML元素添加到XML文件中,下表给出了这些方法的名字和描述情况:
方法 | 描述 |
WriteStartDocument | 书写版本为“1.0”的 XML 声明 |
WriteEndDocument | 关闭任何打开的元素或属性 |
Close | 关闭流 |
WriteDocType | 写出具有指定名称和可选属性的 DOCTYPE 声明 |
WriteStartElement | 写出指定的开始标记 |
WriteEndElement | 关闭一个元素 |
WriteFullEndElement | 关闭一个元素,并且总是写入完整的结束标记 |
WriteElementString | 写出包含字符串值的元素 |
WriteStartAttribute | 书写属性的起始内容 |
WriteEndAttribute | 关闭上一个 WriteStartAttribute 调用 |
WriteRaw | 手动书写原始标记 |
WriteString | 书写一个字符串 |
WriteAttributeString | 出具有指定值的属性 |
WriteCData | 写出包含指定文本的 <![CDATA[...]]> 块 |
WriteComment | 写出包含指定文本的注释 <!--...--> |
WriteWhiteSpace | 写出给定的空白 |
WriteProcessingInstruction | 写出在名称和文本之间带有空格的处理指令,如下所示:<?name text?> |
[align=left]using System;[/align] [align=left]using System.IO;[/align] [align=left]using System.Xml;[/align] [align=left]public class Sample[/align] [align=left]{ [/align] [align=left] public static void Main()[/align] [align=left] {[/align] [align=left] XmlTextWriter writer = new XmlTextWriter("titles.xml", null);[/align] [align=left] //写入根元素[/align] [align=left] writer.WriteStartElement("items");[/align] [align=left] //加入子元素[/align] [align=left] writer.WriteElementString("title", "Unreal Tournament 2003");[/align] [align=left] writer.WriteElementString("title", "C&C: Renegade");[/align] [align=left] writer.WriteElementString("title", "Dr. Seuss's ABC");[/align] [align=left] //关闭根元素,并书写结束标签[/align] [align=left] writer.WriteEndElement();[/align] [align=left] //将XML写入文件并且关闭XmlTextWriter[/align] [align=left] writer.Close(); [/align] [align=left] }[/align] } |
[align=left]<items><title>Unreal Tournament 2003</title><title>[/align] [align=left]C&C: Renegade</title><title>Dr. Seuss's ABC[/align] </title></items> |
上面的代码相对十分的简单,下面我们看一个使用了XmlTextWriter类中更多方法,功能更加完善的例子。
[align=left]using System;[/align] [align=left]using System.IO;[/align] [align=left]using System.Xml;[/align] [align=left]public class Sample[/align] [align=left]{[/align] [align=left] public static void Main()[/align] [align=left] {[/align] [align=left] XmlTextWriter writer = new XmlTextWriter("myMedia.xml", null);[/align] [align=left] //使用自动缩进便于阅读[/align] [align=left] writer.Formatting = Formatting.Indented;[/align] [align=left] //书写根元素[/align] [align=left] writer.WriteStartElement("items");[/align] [align=left] //开始一个元素[/align] [align=left] writer.WriteStartElement("item");[/align] [align=left] //向先前创建的元素中添加一个属性[/align] [align=left] writer.WriteAttributeString("rating", "R");[/align] [align=left] //添加子元素[/align] [align=left] writer.WriteElementString("title", "The Matrix");[/align] [align=left] writer.WriteElementString("format", "DVD");[/align] [align=left] //关闭item元素[/align] [align=left] writer.WriteEndElement(); // 关闭元素[/align] [align=left] //在节点间添加一些空格[/align] [align=left] writer.WriteWhitespace("/n");[/align] [align=left] //使用原始字符串书写第二个元素[/align] [align=left] writer.WriteRaw("<item>" + [/align] [align=left] "<title>BloodWake</title>" +[/align] [align=left] "<format>XBox</format>" + [/align] [align=left] "</item>");[/align] [align=left] //使用格式化的字符串书写第三个元素[/align] [align=left] writer.WriteRaw("/n <item>/n" +[/align] [align=left] " <title>Unreal Tournament 2003</title>/n" +[/align] [align=left] " <format>CD</format>/n" + [/align] [align=left] " </item>/n");[/align] [align=left] // 关闭根元素[/align] [align=left] writer.WriteFullEndElement();[/align] [align=left] //将XML写入文件并关闭writer[/align] [align=left] writer.Close();[/align] [align=left] }[/align] [align=left]}[/align] |
[align=left]<items>[/align] [align=left] <item rating="R">[/align] [align=left] <title>The Matrix</title>[/align] [align=left] <format>DVD</format>[/align] [align=left] </item>[/align] [align=left]<item><title>BloodWake</title><format>XBox</format></item>[/align] [align=left] <item>[/align] [align=left] <title>Unreal Tournament 2003</title>[/align] [align=left] <format>CD</format>[/align] [align=left] </item>[/align] </items> |
使用XmlTextWriter十分的容易,不过我还是建议你自己动手试试这些代码和方法。你试过以后会发现这些代码能够很容易地集成到你的程序中。你还应该记住,XmlTextWriter仅仅是.NET提供的众多XML类中的一个。和XmlTextWriter一样,其他的XML类也十分的容易使用。
相关文章推荐
- .NET中书写XML的一种简单方法
- .NET中书写XML的一种简单方法
- .NET中书写XML的一种简单方法
- .NET中书写XML的一种简单方法
- .NET中书写XML的一种简单方法
- .NET中书写XML的一种简单方法
- .NET中书写的一种简单方法
- (转).NET中书写XML的一种简单方法
- 一种简单环境下,读取XML节点值的方法
- .net 操作xml的简单方法及说明
- .net 签名加密实现的一种简单方法
- [ActionScript 3.0] 处理xml内容换行时行间距较大问题的一种简单方法
- .NET下一种简单的调试诊断方法
- .NET下一种简单的调试诊断方法(2)
- .net 操作xml的简单方法及说明
- 下载文件的一种简单方法js
- C#中子界面按钮改变父界面属性的一种简单方法
- .Net的混淆属性以及ildasm限制的简单解除方法
- 绕过 KIS 7 防火墙的一种简单方法
- 一种将汉字转换为拼音的更简单的方法