ajax 的dom 获得xml 的标签

如下表现了如何通过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[i]; // 每个state的标签对象  

    String tagContent = s.childNodes[0].nodeValue;//获得标签的内容

}

 

 如下表现了如何通过dom来获得从服务端返回来的一个xml的dom对象,分别获得这个xml文档你想获得的标签,某个标签的子标签,标签的内容,感觉还是挺简单的

你可能感兴趣的:(xml,Ajax)