在.NET Framework中轻松处理XML数据(11) StringBuilder sb = new StringBuilder(""); sb.Append("<array>"); foreach(string s in theArray) { sb.Append("<element value=\""); sb.Append(s); sb.Append("\"/>"); } sb.Append("</array>"); 代码通过循环取出数据中的元素,写好标签文本并把它们累加到一个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); xmlw.WriteEndElement(); } xmlw.WriteEndDocument(); // Close the writer xmlw.Close(); }