• 把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本身是有问题的。  

  • 相关阅读:
    1.淡入淡出效果js原生代码2.缓冲运动
    php 图片加水印插件
    php redis使用 常用方法 | Windows环境下安装Redis | Windows下php安装redis扩展(详解版)
    Windows下安装使用workman简单实例
    极简生成excel方法;excel表导入数据库
    php 生成表单 | url串禁止转义并解决中文字符乱码
    图片上传预览并保存图片 | 多图上传预览并保存图片 | 树状结构(jquery.treeview.js)
    php Rsa签名算法
    php 正则表达式 1.字符串中提取带小数点的数字 2.判断字符串中是否包含关键字 3.统计二维数组中某个字段值出现的次数
    虚拟主机部署tp项目,在.htaccess文件中隐藏index.php
  • 原文地址:https://www.cnblogs.com/tongdengquan/p/6090525.html
Copyright © 2020-2023  润新知