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

ASP.NET
ASP.NET超凡的代码控制(二)
剖析ASP.NET下部构造(一)
剖析ASP.NET下部构造(二)
ASP.NET的Web controls(一)
ASP.NET的Web controls(二)
如何在页面上动态的生成 WebForm控件
再议正则表达式(这次是在asp.net 上的应用)
利用.NET框架简化发布和解决DLL Hell问题(1)
利用.NET框架简化发布和解决DLL Hell问题(2)
在ASP+中访问数据库
通过事例学习.net的WebForms技术(一)
通过事例学习.net的WebForms技术(二)
如何在aspx中得到在存储过程中的的数值(兼答jspfuns的问题)
如何得到一个汉字和字母组合的字符串的准确的长度(asp.net 版本的)
ASP+中取代ASP的RS(Remote Scripting)技术的Framework
通过事例学习.net的WebForms技术(三)
通过事例学习.net的WebForms技术(四)
通过事例学习.net的WebForms技术(五)
通过网络域名得到这台主机的IP地址
查看服务器磁盘、文件的aspx

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


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