通过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
------解决方案--------------------------------------------------------
解决就好