读书人

关于解析xml,该怎么处理

发布时间: 2012-12-14 10:33:08 作者: rapoo

关于解析xml
请大家帮忙。多谢了。
我通过url请求回来这样的xml

 <?xml version='1.0' encoding='utf-8'?>

<metadata type='LABEL'>

<version>LABEL.1.06.0</version>

<list count="3">

<level width="9708">1</level>

<level width="8708">2</level>

<level width="7708">3</level>

</list>

</metadata>



我怎么面取的version 和 3个 width 呢?在chrome浏览器里
我试过了网上各种解析xml的方法,都不好使啊。
难道要变成string取出来么?
请指点。
[最优解释]
    function LoadXML(url) {
var xhr = window.ActiveXObject ? new ActiveXObject("microsoft.xmlhttp") : new XMLHttpRequest()
,dom;
xhr.open("get", url, false);
xhr.send(null);
if (0 == xhr.status
[其他解释]
200 == xhr.status) {
if (document.all && 0 == xhr.status) {//IE浏览器下非http的ajax请求xml文件无法生成XML的DOM对象,需要使用microsoft.xmldom重生生成
dom = new ActiveXObject("microsoft.xmldom");
dom.loadXML(xhr.responseText);
}
else dom = xhr.responseXML;
}
else aler('加载XML失败!' + xhr.responseText);
return dom;
}
var dom = LoadXML("x.xml?_dc=" + new Date().getTime());/////注意修改路径
if (dom) {
var version = dom.getElementsByTagName('version')[0], levelNode = dom.getElementsByTagName('level'), arrWidth = [];
version = version.firstChild.nodeValue;
for (var i = 0; i < levelNode.length; i++) arrWidth[i] = levelNode[i].getAttribute('width');
alert('version:' + version + '\nwidth数组:' + arrWidth)
}

[其他解释]
chrome需要通过http协议访问才行,XMLHttpRequest请求本地文件会出错
[其他解释]
XMLHttpRequest cannot load http://ip/label/label.xml. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
dingwei.html:22Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101

提示了上面的。
也就是说我得整个真实的web服务么?
[其他解释]
是的


chrome还是蛮多毛病的。。iframe本地浏览也获取不到parent对象或者iframe的内容
[其他解释]
这句xhr.send(null);报了Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101
这句话有啥问题么?
[其他解释]
XMLHttpRequest cannot load http://ip/label/label.xml. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
dingwei.html:22Uncaught Error: NETWORK_ERR: XMLHttpRequest Exception 101

这2个错误是一起的

读书人网 >JavaScript

热点推荐