• 您的位置我爱Aspx >> XML/XLST >> 在.NET Framework中轻松处理XML数据(四)
  • 在.NET Framework中轻松处理XML数据(四)

  • 作者:aspxer  来源:internet  日期:2007-5-6 11:38:44  关键字:.net,xml,数据
  • XmlTextWriter类

    用在本节中的方法创建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);

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:在.NET Framework中轻松处理XML数据(五)
    下一篇:在.NET Framework中轻松处理XML数据(三)