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

ASP.NET
一个多文档界面的应用程序
asp+ 制作图形
asp.net中的vb7中如何调用dll中的函数
asp.net中的vb7中如何使用socket作一个传送时间的server
asp+发送Email完全手册
用浏览器来接收C# 的程序返回的时间cool!
DataGrid巧用实现目录浏览
asp+中常用的NameSpace的讲解
随机函数生成密码的asp.net版本
强大的数组功能(asp+程序数组功能调用)
如何用asp+获取post的页面的数据
asp+版本简单的留言板的制作(一)
asp+版本简单的留言板的制作(二)
asp+版本简单的留言板的制作(三)
如何在服务器上保存一定时间的信息
一个功能完善的专栏管理的程序->这是asp.net的第二个应用(一)
一个功能完善的专栏管理的程序->这是asp.net的第二个应用(二)
一个功能完善的专栏管理的程序->这是asp.net的第二个应用(三)
这是asp.net的第二个应用(四)
这是asp.net的第二个应用(五)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 240 ::
收藏到网摘: 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();