六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 31|回复: 0

ajax 的dom 获得xml 的标签

[复制链接]

升级  42.67%

30

主题

30

主题

30

主题

秀才

Rank: 2

积分
114
 楼主| 发表于 2013-1-23 02:48:55 | 显示全部楼层 |阅读模式
如下表现了如何通过dom来获得从服务端返回来的一个xml的dom对象,分别获得这个xml文档你想获得的标签,某个标签的子标签,标签的内容,感觉还是挺简单的<?xml version="1.0" encoding="UTF-8"?><states>    <north>        <state>Minnesota</state>        <state>Iowa</state>        <state>North Dakota</state>    </north>    <south>        <state>Texas</state>        <state>Oklahoma</state>        <state>Louisiana</state>    </south>    <east>        <state>New York</state>        <state>North Carolina</state>        <state>Massachusetts</state>    </east>    <west>        <state>California</state>        <state>Oregon</state>        <state>Nevada</state>    </west></states> 
 
获得一个xml文档对象后
 
 var xmlDoc = xmlHttp.responseXML;
 
xmlDoc  这是一个Dom对象,表示整个xml文档
 
想获得这个文档你所有想获得的标签,可以使用
 
xmlDoc .getElementsByTagName(String tagName)
 
 如:var northNode =xmlDoc.getElementsByTagName("north")  返回所有的<north>标签的对象

如果你想获得这些<north>标签的某个对象,可以使用northNode【0】,northNode 【1】 等 
 
northNode【0】返回第一个<north>标签的对象
 
如:var northNodeOne = xmlDoc.getElementsByTagName("north")[0];
 
接着想获得这个<north>的子标签,如<state>标签,如下:

stateObj=northNodeOne.getElementsByTagName("state") ;
 
返回<north>下所有的<state>标签的对象
 
接着可以通过循环这个stateObj来分别获得每个<state>标签
 
for (var i=0; i<stateObj.length;i++) {
    s = stateObj; // 每个state的标签对象  
    String tagContent = s.childNodes[0].nodeValue;//获得标签的内容
}
 
 如下表现了如何通过dom来获得从服务端返回来的一个xml的dom对象,分别获得这个xml文档你想获得的标签,某个标签的子标签,标签的内容,感觉还是挺简单的
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表