把aspx頁面輸出成xml的方法注意事項

2021-06-18 23:24:43 字數 1618 閱讀 8725

先貼**

response.charset = "gb2312"; 

response.contenttype = "text/xml";

response.contentencoding = system.text.encoding.getencoding("gb2312");

stringbuilder strxml = new stringbuilder();

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頁面後,要把下面的部分:

刪掉。否則就會出現上面提到的問題。因為在cs檔案中指定的response.contenttype="text/xml";會與標籤相矛盾。

如果把標籤中的內容刪掉,再執行頁面,又會出現錯誤「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格式的方法

public class xml inherits system.web.ui.page region web 窗體設計器生成的 該呼叫是 web 窗體設計器所必需的。private sub initializecomponent end sub 注意 以下佔位符宣告是 web 窗體設計器所必需的。...

心得 使用ASPX輸出XML應注意的問題

ajax應用程式中伺服器端如果使用aspx返回xml格式資料,一般將vs生成的html字元先清除,檔案中直接使用response.write輸出xml字串。需要注意的是要設定response的相應屬性客戶端才能正確解析字串。首先要設定 contenttype 屬性 response.contentt...

php輸出xml必須header的解決方法

本文為大家講解的是php輸出xml必須header的解決方法,以例項形式講述了php輸出xml必須header的情況,是很多php初學者都容易犯的錯誤,需要的朋友可以參考下 問題描述 最近在做乙個xml輸出時發現我們直接使用echo輸入的xml文件會提示error object has no met...