把aspx页面输出成xml的方法注意事项
先贴代码
Response.Charset = "gb2312";
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
StringBuilder strXml = new StringBuilder();
strXml.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
strXml.Append("<node>");
strXml.Append("</node>)
Response.Write(strXml.ToString());
如果页面中要在页面中显示XML内容,除了要在页面的代码文件(cs)中放置如下内容外:
Response.Charset = "gb2312";
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
还应该特别注意页面的设计文件(aspx)中只能出现
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
所以在新建一个asp.net页面后,要把下面的部分:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
删掉。否则就会出现上面提到的问题。因为在CS文件中指定的Response.ContentType="text/xml";会与标签<!DOCTYPE >相矛盾。
如果把标签<!DOCTYPE>中的内容删掉,再运行页面,又会出现错误“XML 文档只能有一个顶层元素。”。这又是为什么哪?仔细分析不难看出。通过页面输出的XML内容都会有一个顶层元素<?xml version="1.0" encoding="gb2312" ?> 。因为页面类型被指定为xml,xml文档只能有一个顶层元素。所以要把页面的设计文件(.aspx)文件中的标签全部删掉,只留下
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
这一行。不难看出,这行是服务端标签,不会发送到客户端。
所以,如果您要在页面中显示XML文档内容,有两个要点:
第一、在页面的布局文件(.aspx)中只留下<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>一行;
第二、在页面的代码文件(.cs)中指定好输出到客户端内容的编码方式:
Response.Charset = "gb2312";
Response.ContentType = "text/xml";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
然后再用Response.Write(XML);将XML内容输出到客户端就可以了。当然,XML本身的内容必须是正确的,这可以通过把XML内容粘贴到记事本里另存为*.xml文件,如果可以用IE打开正确显示就说明XML本身是正确的,否则说明XML本身是有问题的。
把aspx页面输出成xml的方法注意事项的更多相关文章
- 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法
开篇介绍 在 SSIS 中并没有直接提供从数据源到 XML 的转换输出,Destination 的输出对象有 Excel File, Flat File, Database 等,但是并没有直接提供 X ...
- FOR XML PATH 可以将查询结果根据行输出成XML格式
SELECT CAST(OrderID AS varchar)+',' as OrderNo FROM Product CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型 SELECT C ...
- aspx页面上输出xml的问题
在aspx页面上输出xml,需要在后台输出编码格式和编码类型,如下代码: Response.Charset = "utf-8";//格式Response.ContentType = ...
- ASP.NET页面跳转的三大方法详解
ASP.NET页面跳转有什么方法呢?,现在给大家介绍三种方法,他们的区别是什么呢?让我们开始吧: ASP.NET页面跳转1.response.redirect 这个跳转页面的方法跳转的速度不快,因为它 ...
- 利用Microsoft.Office.Interop.Excel 将web页面转成PDF
网上有很多将Web页面转成PDF的方法,还有许多收费的第三方插件.其实利用Office 自带的将EXCEL发布成PDF的功能就可以实现,如果你的需求没有多复杂,可以采用笔者的方法. 首先将web页面h ...
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...
- WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)
WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...
- ASP.Net 更新页面输出缓存的几种方法
ASP.Net 自带的缓存机制对于提高页面性能有至关重要的作用,另一方面,缓存的使用也会造成信息更新的延迟.如何快速更新缓存数据,有时成了困扰程序员的难题.根据我的使用经验,总结了下面几种方法,概括了 ...
- Jquery Ajax调用aspx页面方法
Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...
随机推荐
- Qt 5.7 > QML
本文档翻译自Qt官方文档: http://doc.qt.io/qt-5/qtqml-index.html Qt QML Qt QML模块使用QML语言为开发应用与库提供一个框架.它定义并实现了语言与引 ...
- Cookie的简单使用
一,新建一个空网站,添加一个Default.aspx <%@ Page Language="C#" AutoEventWireup="true" Code ...
- java 用双向链表实现SJBLinkedList
public class SJBLinkedList{ private Node first; private Node last; private int size; public int size ...
- HDU 1241Oil Deposits (DFS)
Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground ...
- doc 窗口操作图
doc 窗口操作图doc 窗口操作图vdoc 窗口操作图
- 一行一行分析JQ源码学习笔记-04
jquery添加方法和属性 jquery.fn=jquery.prototype ={ jquery版本 } construtor 指向修正 js源码中 fun aaa(){} 会自动生成一句 ...
- Java IO 过滤流 BufferedInput/OutputStream
Java IO 过滤流 BufferedInput/OutputStream @author ixenos 概念 BufferedInput/OutputStream是实现缓存的过滤流,他们分别是Fi ...
- UVA 624 CD (01背包)
//路径记录方法:若是dp[j-value[i]]+value[i]>dp[j]说明拿了这个东西,标志为1, //for循环标志,发现是1,就打印出来,并把背包的容量减少,再在次容量中寻找标志: ...
- erlang套接字
Erlang的套接字可以有三种打开模式:主动(active).单次主动(active once)或被动(passive).这是通过在gen_tcp:connect(Address, Port, Opt ...
- 关于oracle数据库(1)
兼容性的设置 cmd.exe是微软Windows系统的命令行程序,类似于微软的DOS操作系统.cmd.exe是一个16/32位的命令行程序,运行在Windows NT/2000/XP/2003/Vis ...