如下表现了如何通过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文档你想获得的标签,某个标签的子标签,标签的内容,感觉还是挺简单的