把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 ...
随机推荐
- Socket 传送文件
1.传送文本文件 1.1服务端 package com; import java.io.BufferedWriter; import java.io.DataInputStream; import j ...
- 使用PHP连接redis后,timeout连接太多的解决方案
这个问题,大家在使用php redis之后肯定都会遇到.所以本菜本着虚心求教的原则,又在网上四处求教.得到的答案,无非是以下两种: 1.redis没有主动close. 事后发现,这个答案纯属以讹传讹, ...
- html历史
方法一: location.hash = 'abc' window.onhashchange = function(){} location.hash 返回结果 #abc => locati ...
- ZOJ Martian Addition
Description In the 22nd Century, scientists have discovered intelligent residents live on the Mars. ...
- JSP+Servlet实现上传下载
0.项目结构 1.在WebRoot下创建index.jsp页面 <%@ page language="java" import="java.util.*" ...
- C语言中字符串
#include <stdio.h> int main(){ char s[] = "ABCD"; char *p; for(p=s; p<s+4; p++) { ...
- OMCS ——卓尔不群的网络语音视频框架
作为.NET平台上的开发人员,要开发出一个像样视频聊天系统或视频会议系统,非常艰难,这不仅仅是因为.NET对多媒体的支持比较有限,还因为网络语音视频这块涉及到了很多专业方面的技术,而.NET在这些方面 ...
- java抽象类的特点
抽象类 抽象类的特点: 1.抽象类的方法可以是抽象的,也可以是不抽象的. 2.抽象类的方法可以全是抽象的,也可以全是不抽象的. 3.有抽象方法的类必须是抽象类,或者是接口(但是接口的方法定义必须是pu ...
- vs打开项目,创建虚拟目录,提示权限不足无法写入配置文件
如题,从源代码管理器上获取下来程序后,自己打开始,提示如题,尝试过以管理员启动vs,给目录权限提升,修改csproj项目配置文件(修改userIIS节点)and so on,无意间在用别的文档编辑器编 ...
- 管理MySQL的命令
USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库. SHOW DATABASES: 列出 MySQL 数据库管理系统的数据库列表. SHOW TABLE ...