新手问个javascript操纵xml的问题
悬赏:5 发布时间:2008-07-18 提问人:lookdd1 (初级程序员)
我从服务端获得这样一个xml
<root>
<data>
<list>
<USER>
<name>
zhang
</name>
</USER>
<USER>
<name>
list
</name>
</USER>
</list>
</data>
</root>
现在我如何用javascript遍历list节点。取得name的值??
谢谢。。
问题补充:
非常感谢hax的回答。但是我通过getElementByTag没有获得到。返回的是undifined。。我想问一下。如果xml的结构是<list type="user">就是有xpath的折中。那用getElementByTagName("list")能够获得到list的吗?
<root>
<data>
<list>
<USER>
<name>
zhang
</name>
</USER>
<USER>
<name>
list
</name>
</USER>
</list>
</data>
</root>
现在我如何用javascript遍历list节点。取得name的值??
谢谢。。
问题补充:
非常感谢hax的回答。但是我通过getElementByTag没有获得到。返回的是undifined。。我想问一下。如果xml的结构是<list type="user">就是有xpath的折中。那用getElementByTagName("list")能够获得到list的吗?
采纳的答案
2008-07-18 ham (资深程序员)
刚写了一个简单点的例子,未测试过.希望楼主可以理解.
主要实现代码如下:
...//省略发送数据部分
...
var xmlDOM = xmlHttp.responseXML;
// 取得XML文档的节点.类似于DOM中的document对象
var root = xmlDOM.documentElement;
// 获取所有<list>标签
var list = root.getElementsByTagName('list');
// 遍历list标签中的内容.即user标签.
for(var i=0;i<list.childNodes.length;i++){
write("<ul>User:"+i);
var infos=list.childNodes[i];
//遍历user标签中的内容
for(var j=0;j<infos.childNodes.length;j++){
write("<li>"+infos[j].nodeName+":"+infos[j].nodeValue+"</li>");
}
}
...
...
function write(value){
document.write(value);
}
主要实现代码如下:
...//省略发送数据部分
...
var xmlDOM = xmlHttp.responseXML;
// 取得XML文档的节点.类似于DOM中的document对象
var root = xmlDOM.documentElement;
// 获取所有<list>标签
var list = root.getElementsByTagName('list');
// 遍历list标签中的内容.即user标签.
for(var i=0;i<list.childNodes.length;i++){
write("<ul>User:"+i);
var infos=list.childNodes[i];
//遍历user标签中的内容
for(var j=0;j<infos.childNodes.length;j++){
write("<li>"+infos[j].nodeName+":"+infos[j].nodeValue+"</li>");
}
}
...
...
function write(value){
document.write(value);
}
提问者对于答案的评价:
谢谢
已解决问题数: 959
待解决问题数: 418
已关闭问题数: 1635
待解决问题数: 418
已关闭问题数: 1635




