asp.net下DataSet.WriteXml(String)与(Stream)的区别
程序员文章站
2023-11-14 17:54:46
dataset.writexml(string)生成的xml文件中包含xml 声明, 而dataset.writexml(stream)却不会写入xml...
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();
详细情况:
在写博客园的数据备份程序时,本来想通过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();