我爱Aspx >> XML/XLST >> 在.NET Framework中轻松处理XML数据(四)用在本节中的方法创建XML文档显然并不困难。多年以来,开发者都是通过在缓存在连接一些字符串,连接好以后再把缓存中字符串输出到文件的方式来创建XML文档。但是以这种方式创建XML文档的方法只有在你保证字符串中不存在任何细小的错误的时候才有效。.NET Framework通过用XMLwriter提供了更好的创建XML文档的方法。
XML Writer类以只前(forward-only)的方式输出XML数据到流或者文件中。更重要的是,XML Writer在设计时就保证所有的XML数据都符合W3C XML 1.0推荐规范,你甚至不用担心忘记写闭标签,因为XML Writer会帮你写。XmlWriter是所有 XML writer的抽象基类。.NET Framework只提供唯一的一个writer 类----XmlTextWriter类。
我们先来看看XML writers和旧的writers的不同点,下面的代码保存了一个string型的数组:
StringBuilder sb = new StringBuilder("");
sb.Append("");
foreach(string s in theArray) {
sb.Append("
sb.Append(s);
sb.Append("\"/>");
}
sb.Append("");
代码通过循环取出数据中的元素,写好标签文本并把它们累加到一个string中。代码保证输出的内容是格式良好的并且注意了新行的缩进,及支持命名空间。当创建的文档结构比较简单时,这种方法可能不会有错误。然而,当你要支持处理指令,命名空间,缩进,格式化以及实体的时候,代码的数量就成指数级增长,出错的可能性也随之增长。
XML writer写方法功能对应每个可能的XML节点类型,它使创建xml文档的过程更符合逻辑、更少的信赖于繁琐的标记语言。图六演示了怎么样用XmlTextWriter类的方法来连接一个string数据。代码很简洁,用XML writer的代码更容易读、结构更好。
Figure 6 Serializing a String Array
void CreateXmlFileUsingWriters(String[] theArray, string filename)
{
// Open the XML writer (用默认的字符集)
XmlTextWriter xmlw = new XmlTextWriter(filename, null);
xmlw.Formatting = Formatting.Indented;
xmlw.WriteStartDocument();
xmlw.WriteStartElement("array");
foreach(string s in theArray)
{
xmlw.WriteStartElement("element");
xmlw.WriteAttributeString("value", s);
【我对这篇文章有话说?】
在.NET Framework中轻松处理XML数..[05-06]
在.NET Framework中轻松处理XML数..[05-06]
Visual Basic.NET带来的新方法(一..[05-05]
利用VC++获取异构型数据库库结构..[05-05]
抢救零磁道损坏的软盘数据[05-05]
浅谈DB2数据库的备份与恢复(下)[05-05]
浅谈DB2数据库的备份与恢复(上)[05-05]
Microsoft .NET Remoting:技术概..[05-05]
ASP.NET 入门的五个步骤[05-05]
将你的Visual Basic 6.0移植到Vi..[05-05]
在.NET Framework中轻松处理XML数..[05-06]
在.NET Framework中轻松处理XML数..[05-06]
系统级C语言程序设计[05-05]
Visual Basic.NET带来的新方法(一..[05-05]
用VB设计能适应各种显示属性的界..[05-05]
关于VC中的DLL的编程[05-05]
解决BoundsChecker和VC打架的方法[05-05]
用VC++实现异形窗口.[05-05]
MFC消息响应机制分析[05-05]
一种不易察觉的内存泄露[05-05]