DataSet.WriteXml(String)与DataSet.WriteXml(Stream)的区别

区别:

DataSet.WriteXml(String)生成的Xml文件中包含XML 声明, DataSet.WriteXml(Stream)却不会写入Xml声明即<?xml version="1.0" standalone="yes"?>
详细情况:

在写博客园的数据备份程序时,本来想通过ds.WriteXml(Response.OutputStream)直接将Xml数据发送到客户端,可是这样在客户端得到的Xml文件中的所有中文全是乱码,乱码的Xml文件与正常的Xml文件区别就是少了一行Xml声明。然后, 我改了代码, 手动写入Xml声明, 乱码问题就解决,代码如下:
XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Response.ContentEncoding);

writer.Formatting = Formatting.Indented;

writer.Indentation = 4;

writer.IndentChar = ' ';

writer.WriteStartDocument();

ds.WriteXml(writer);

writer.Flush();

Response.End();

writer.Close();

posted @ 2004-03-19 12:04  dudu  阅读(5602)  评论(2编辑  收藏  举报