当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net下DataSet.WriteXml(String)与(Stream)的区别

ASP.NET
用 Asp.Net 建立一个在线 RSS 新闻聚合器的方法
关于前台调用后台事件__doPostBack函数
Bin 和 App_Code 文件夹介绍
.NET 2.0 的压缩功能代码
解决Visual Studio 2005 无法显示设计视图的方法
asp.net(c#)两种随机数的算法,可用抽考题
asp.net下url传递中文的解决方案
XmlReader 读取器读取内存流 MemoryStream 的注意事项
asp.net下创建、查询、修改带名称空间的 XML 文件的例子
使用.NET存储XML数据的方法
XslTransform.Transform将结果输出到字符串里的方法
安装 VS2005 SP1 有关问题的解决办法
asp.net下中文验证码,免费开源代码
自定义应用程序配置文件(app.config)
asp.net下使用DIME协议上传文件
动态改变ASP.net页面标题和动态指定页面样式表的方法
WEB上调用HttpWebRequest奇怪问题的解决方法
HTTP协议下用Web Service上传大文件的解决方案
asp.net下Response.ContentType类型汇总
ASP.NET User Control使用技巧一则

ASP.NET 中的 asp.net下DataSet.WriteXml(String)与(Stream)的区别


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 97 ::
收藏到网摘: n/a

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();