把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內(nèi)容,除了要在頁面的代碼文件(cs)中放置如下內(nèi)容外:
Response.Charset = "gb2312"; ? ? ? ??
Response.ContentType = "text/xml";?????????
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");?
還應(yīng)該特別注意頁面的設(shè)計文件(aspx)中只能出現(xiàn)
<%@ 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>無標(biāo)題頁</title></head> <body> <form id="form1" runat="server"> <div> </div> </form> </body> </html>
刪掉。否則就會出現(xiàn)上面提到的問題。因為在CS文件中指定的Response.ContentType="text/xml";會與標(biāo)簽<!DOCTYPE >相矛盾。
如果把標(biāo)簽<!DOCTYPE>中的內(nèi)容刪掉,再運行頁面,又會出現(xiàn)錯誤“XML 文檔只能有一個頂層元素。”。這又是為什么哪?仔細(xì)分析不難看出。通過頁面輸出的XML內(nèi)容都會有一個頂層元素<?xml version="1.0" encoding="gb2312" ?> 。因為頁面類型被指定為xml,xml文檔只能有一個頂層元素。所以要把頁面的設(shè)計文件(.aspx)文件中的標(biāo)簽全部刪掉,只留下
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
這一行。不難看出,這行是服務(wù)端標(biāo)簽,不會發(fā)送到客戶端。
所以,如果您要在頁面中顯示XML文檔內(nèi)容,有兩個要點:
第一、在頁面的布局文件(.aspx)中只留下<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>一行;
第二、在頁面的代碼文件(.cs)中指定好輸出到客戶端內(nèi)容的編碼方式:
Response.Charset = "gb2312";?????????
Response.ContentType = "text/xml";?????????
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
然后再用Response.Write(XML);將XML內(nèi)容輸出到客戶端就可以了。當(dāng)然,XML本身的內(nèi)容必須是正確的,這可以通過把XML內(nèi)容粘貼到記事本里另存為*.xml文件,如果可以用IE打開正確顯示就說明XML本身是正確的,否則說明XML本身是有問題的。 ?
?轉(zhuǎn)載于:https://www.cnblogs.com/tongdengquan/p/6090525.html
總結(jié)
以上是生活随笔為你收集整理的把aspx页面输出成xml的方法注意事项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse 如何忽略js文件报错
- 下一篇: sqlplus登陆