日期:2014-05-18  浏览次数:20397 次

如何获取xmlhttp请求返回xml数据节点的值
通过xmlhttp请求http://xxx/xxx.jsp返回结果为
<?xml version="1.0" encoding="GBK" ?> 
<info>
  <user>xxx</user> 
  <result>1</result> 
</info>

请高手指点,如何获取result节点的值呢?


自己从网上找资料写了如下代码:
C# code

using MSXML2;
    protected void Page_Load(object sender, EventArgs e)
    {
        MSXML2.XMLHTTPClass x = new XMLHTTPClass();
        MSXML2.DOMDocument40 xmlDom= new DOMDocument40();  
        try
        {
            x.open("Post", "http://xxx/xxx.jsp", false, "", "");
            x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            x.send("");
        }
        finally
        {
            if (x.status / 100 == 2)
            {             
                xmlDom.loadXML(x.responseXML.ToString()); //这里报错               
            }
        }       
        Response.Write(xmlDom.selectSingleNode("/info/result").text);       
    }



但最终报错:
检索 COM 类工厂中 CLSID 为 {88D969C5-F192-11D4-A65F-0040963251E5} 的组件时失败,原因是出现以下错误: 80040154。

网上搜了资料没解决。

由于时间有限,所以请有经验的朋友帮忙想想办法,最好是根据题目给我参考源码,问题解决立马给分,谢谢!





------解决方案--------------------
没有权限,在注册中搜索88D969C5-F192-11D4-A65F-0040963251E5然后给network用户权限
------解决方案--------------------
xmlDom.loadXML(x.responseText);
------解决方案--------------------
需要提醒的一点:ajax/javascript不能跨域操作
------解决方案--------------------
xmlhttprequest不能跨域访问,只能用一个服务器语言作为代理才可以
加载完xml后用
var dom= new DOMDocument(); dom.loadXML(返回的xml文件),
使用
xmlDom.selectSingleNode(节点名).text 来访问
------解决方案--------------------
up
------解决方案--------------------
解决就好