先贴代码

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的方法注意事项的更多相关文章

  1. 微软BI 之SSIS 系列 - 两种将 SQL Server 数据库数据输出成 XML 文件的方法

    开篇介绍 在 SSIS 中并没有直接提供从数据源到 XML 的转换输出,Destination 的输出对象有 Excel File, Flat File, Database 等,但是并没有直接提供 X ...

  2. FOR XML PATH 可以将查询结果根据行输出成XML格式

    SELECT CAST(OrderID AS varchar)+',' as OrderNo FROM Product CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型 SELECT C ...

  3. aspx页面上输出xml的问题

    在aspx页面上输出xml,需要在后台输出编码格式和编码类型,如下代码: Response.Charset = "utf-8";//格式Response.ContentType = ...

  4. ASP.NET页面跳转的三大方法详解

    ASP.NET页面跳转有什么方法呢?,现在给大家介绍三种方法,他们的区别是什么呢?让我们开始吧: ASP.NET页面跳转1.response.redirect 这个跳转页面的方法跳转的速度不快,因为它 ...

  5. 利用Microsoft.Office.Interop.Excel 将web页面转成PDF

    网上有很多将Web页面转成PDF的方法,还有许多收费的第三方插件.其实利用Office 自带的将EXCEL发布成PDF的功能就可以实现,如果你的需求没有多复杂,可以采用笔者的方法. 首先将web页面h ...

  6. WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据

    WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...

  7. WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据(转)

    WebForm.aspx 页面通过 AJAX 访问WebForm.aspx.cs类中的方法,获取数据 WebForm1.aspx 页面 (原生AJAX请求,写法一) <%@ Page Langu ...

  8. ASP.Net 更新页面输出缓存的几种方法

    ASP.Net 自带的缓存机制对于提高页面性能有至关重要的作用,另一方面,缓存的使用也会造成信息更新的延迟.如何快速更新缓存数据,有时成了困扰程序员的难题.根据我的使用经验,总结了下面几种方法,概括了 ...

  9. Jquery Ajax调用aspx页面方法

    Jquery Ajax调用aspx页面方法 在asp.net webform开发中,用jQuery ajax传值一般有几种玩法 1)普通玩法:通过一般处理程序ashx进行处理: 2)高级玩法:通过as ...

随机推荐

  1. 第四天 内置函数2 随机码 装饰器 迭代器、生成器 递归 冒泡算法 JSON

    关于函数的return li = [11,22,33,44] def f1(arg): arg.append(55) li = f1(li) print(li) 因为li = f1(li) 实际赋值的 ...

  2. iOS身份证号码识别

    一.前言   身份证识别,又称OCR技术.OCR技术是光学字符识别的缩写,是通过扫描等光学输入方式将各种票据.报刊.书籍.文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使 ...

  3. L3-005. 垃圾箱分布

    L3-005. 垃圾箱分布 题目链接:https://www.patest.cn/contests/gplt/L3-005 Dijstra 与L2-001.紧急救援类似,是Dijstra最短路的拓展, ...

  4. php基本(四)表单验证

    本文内容来自http://www.w3school.com.cn/php/php_form_url_email.asp PHP 表单验证 - 验证 E-mail 和 URL 本节展示如何验证名字.电邮 ...

  5. Java 工具 JUnit单元测试

    Java 工具 JUnit单元测试 @author ixenos 1.1.   JUnit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个 ...

  6. Maven项目问题

    Maven项目部署 svn检出的为普通项目 1.普通项目转换为Maven项目: 选择项目右击->Maven4MyEclipse->Update Project 2.tomcat项目空间WE ...

  7. Entity Framework Code First -- Migrations 迁移

    在开始使用迁移(Migrations)之前,我们需要一个 Project 和一个 Code First Model, 对于本文将使用典型的 Blog 和 Post 模型 创建一个新的控制台应用程序 M ...

  8. Nimbus<一>Storm系列(五)架构分析之Nimbus启动过程

    启动流程图 mk-assignments 功能:对当前集群中所有Topology进行新一轮的任务调度. 实现源码路径: \apache-storm-0.9.4\storm-core\src\clj\b ...

  9. IntelliJ IDEA 13.1.4新建java web项目

    打开软件

  10. 1077. [NOIP2010冲刺六] 数列游戏

    [题目描述] 小M很喜欢找点游戏自娱自乐.有一天,她在纸上写了一串数字:1,1,2,5,4.接着她擦掉了一个1,结果发现剩下1,2,4都在自己所在的位置上,即1在第1位,2在第2位,4在第4位.她希望 ...