+ -
当前位置:首页 → 问答吧 → 这几行代码错在哪了,请大侠指点。

这几行代码错在哪了,请大侠指点。

时间:2011-02-27

来源:互联网

JScript code
   
   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");        
   xmlDoc = req.responseXML;    //req=xmlhttp
   var doc = xmlDoc.documentElement;
   alert(req.responseText);   //屏蔽后面的就能输出
   var abc = doc.getElementsByTagName("hang").length;   //卡在这行代码了
   alert(abc);   //没有任何反应


C# code
后台页面代码
StringBuilder strXml = new StringBuilder();
strXml.Append("<?xml version=\"1.0\" encoding=\"gb2312\" ?>");    
strXml.Append("<info>");
while (sdr.Read())
{
   strXml.Append("<hang>");
   strXml.Append("<one>" + sdr[0].ToString().Trim() + "</one>");
   strXml.Append("<two>" + sdr[1].ToString().Trim() + "</two>");
   strXml.Append("<three>" + sdr[2].ToString().Trim() + "</three>");
   strXml.Append("<four>" + sdr[3].ToString().Trim() + "</four>");
   strXml.Append("</hang>");
}
strXml.Append("</info>");
Response.Write(strXml.ToString());   
 

是不是要用XMLWriter?

作者: beatil   发布时间: 2011-02-27

试试 xmlDoc.loadXML(txt);

作者: showenxxx   发布时间: 2011-02-27

引用 1 楼 showenxxx 的回复:
试试 xmlDoc.loadXML(txt);

谢谢你,这个我也试过了 不行。

作者: beatil   发布时间: 2011-02-27

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.loadXML("<root><data category='cooking'>999</data></root>");
  var node = xmlDoc.getElementsByTagName("data");
这个例子可以用

作者: showenxxx   发布时间: 2011-02-27

至于你后台的处理,你不用自己写xml

如果用webservice,可以在[webmethod]下面加这个
 [System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Xml)]
.net 会把你的array或者强类型数据转成xml

作者: showenxxx   发布时间: 2011-02-27

array添加项也不比自己拼xml方便吧....



作者: beatil   发布时间: 2011-02-27

array的话可以控制返回的类型
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Xml)]
返回xml

[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
返回json

这样前台的人要是说,我不用xml了,要用json数据,你得要重新组织数据。

作者: showenxxx   发布时间: 2011-02-27