CSDN博客

img chybaby

昨天写了一段代码,关于ajax的,一直没有取到从另一个页面response出来的XML值。

发表于2008/9/28 14:11:00  797人阅读

分类: VS.NET

昨天写了一段代码,关于ajax的,一直没有取到从另一个页面response出来的XML值。
哎,今天上午弄了一个上午,终于知道为什么了,原来是我没有设置Response.ContentType=("text/xml;charset=UTF-8");输出的是“text/html”格式的,所以我老是出不到responseXML的值,在输出前面加上Response.ContentType=("text/xml;charset=UTF-8");就可以了。呵呵。。。兴奋啊。。。
贴出部分code:
 后台方法:
public void getxml()
  {
   System.Text.StringBuilder sb=new System.Text.StringBuilder();
   sb.Append("<?xml version=/"1.0/"?>");
   sb.Append("<CN>");
   for(int i=0;i<10;i++)
   {
    sb.Append("<china sex='");
    if(i%2==0)
    {
     sb.Append("1");
    }
    else
    {
     sb.Append("2");
    }
    sb.Append("' age='");
    sb.Append(i);
    sb.Append("'/>");
   }
   sb.Append("</CN>");
   Response.ContentType=("text/xml;charset=UTF-8");
   Response.Write(sb.ToString());
  }

前台:
function updatePage() { try { if(xmlhttp.readyState==4) { if(xmlhttp.status==200)
{ debugger //设置断点调试
var xml=xmlhttp.responseXML;
}
+xml+""; document.write(ss);*/ var a=xml.getElementsByTagName("china"); var Mynode=xml.lastChild; for(var i=0;i
希望和更多的人交流ajax技术,
QQ:5171031
MSN:wgale@126.com

<script type="text/javascript"><!-- google_ad_client = "pub-5555651177870414"; /* 468x60, 创建于 08-2-26 */ google_ad_slot = "0574717296"; google_ad_width = 468; google_ad_height = 60; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
posted on 2006-10-20 12:59 oo縼箻ㄗs.鋒 阅读(520) 评论(5)  编辑 收藏 所属分类: AJAX

FeedBack:
2007-06-28 11:18 | rain [未注册用户]
我也遇到了 这个问题,但是还是解决不了
代码如下:
StringBuilder sb = new StringBuilder();
sb.Append("<?xml version='1.0'?>");
sb.Append("<pictures>");
if (dt != null || dt.Rows.Count > 0)
{
sb.Append("<item>");
foreach (DataRow row in dt.Rows)
{
sb.Append("<name>" + row["ALBUM_NAME"] + "</name><url>" + row["ALBUM_URL"] + "</url><description>" + row["ALBUM_DESC"] + "</description>");
}
sb.Append("</item>");
}
sb.Append("</pictrues");

Response.ContentType = ("text/xml;charset=UTF-8");
Response.Write(sb.ToString());
是什么原因?
  回复  引用    
2007-06-29 14:19 | 呵呵 [未注册用户]
@rain
编码问题呗
  回复  引用    
2007-07-03 10:24 | rain [未注册用户]
@呵呵
编码没问题,我用responseText可以接收到xml的数据
????
  回复  引用    
2007-07-04 14:47 | 呵呵 [未注册用户]
@rain
汗。。。
responseText出来的是字符串。
responseXML出来的可以直接转换成XMLDocument
  回复  引用    
2007-09-13 09:35 | wgale025 [未注册用户]
--引用--------------------------------------------------
rain: 我也遇到了 这个问题,但是还是解决不了
代码如下:
StringBuilder sb = new StringBuilder();
sb.Append(&quot;&lt;?xml version='1.0'?&gt;&quot;);
sb.Append(&quot;&lt;pictures&gt;&quot;);
if (dt != null || dt.Rows.Count &gt; 0)
{
sb.Append(&quot;&lt;item&gt;&quot;);
foreach (DataRow row in dt.Rows)
{
sb.Append(&quot;&lt;name&gt;&quot; + row[&quot;ALBUM_NAME&quot;] + &quot;&lt;/name&gt;&lt;url&gt;&quot; + row[&quot;ALBUM_URL&quot;] + &quot;&lt;/url&gt;&lt;description&gt;&quot; + row[&quot;ALBUM_DESC&quot;] + &quot;&lt;/description&gt;&quot;);
}
sb.Append(&quot;&lt;/item&gt;&quot;);
}
sb.Append(&quot;&lt;/pictrues&quot;);

Response.ContentType = (&quot;text/xml;charset=UTF-8&quot;);
Response.Write(sb.ToString());
是什么原因?
--------------------------------------------------------

把你的这行改成:sb.Append("<?xml version='1.0'?>"); 换成这样的:
sb.Append("<?xml version=/"1.0/"?>"); 这样就OK了.要知道XML里面实体才有单引号的吧.你直接用单引号,XML好像不识别吧...
  回复  引用    

标题
姓名
主页
Email (博主才能看到)
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-02-27 14:44 编辑过


相关链接:
 
<script type="text/javascript"><!-- google_ad_client = "pub-4210569241504288"; google_ad_slot = "1397853083"; google_ad_width = 468; google_ad_height = 60; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>


<2006年10月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

与我联系

搜索

 

常用链接

留言簿

我参与的团队

我的标签

随笔分类

随笔档案

博客站

一些圈子

阅读排行榜

评论排行榜

阅读全文
0 0

相关文章推荐

查看更多
未登录
img
取 消
img