首页 > 代码库 > XML DOM 遍历Xml文档
XML DOM 遍历Xml文档
1.xml文档内容:
<?xml version="1.0" encoding="utf-8" ?><bookstore> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="web"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> <book category="web"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book></bookstore>
2.封装解析xml文档函数到loadxmldoc.js文件中
function loadXMLDoc(dname) {try //Internet Explorer { xmlDoc=new ActiveXObject("Microsoft.XMLDOM");//创建空的微软xml文档对象 }catch(e) { try //Firefox, Mozilla, Opera, etc. { xmlDoc=document.implementation.createDocument("","",null);//其他浏览器通过解析器创建xml文档对象 } catch(e) {alert(e.message)} }try { xmlDoc.async=false;//关闭异步加载,确保文档加载完之前解析器不会继续执行脚本 xmlDoc.load(dname);//加载文档 return(xmlDoc);//返回xml文档对象 }catch(e) {alert(e.message)}return(null);}
3.遍历xml文档下所有节点
<script type="text/javascript" src=http://www.mamicode.com/"Scripts/loadxmldoc.js">//引入loadxmldoc.js文件</script><script type="text/javascript"> xmlDoc = loadXMLDoc("books.xml");//创建文档对象 x = xmlDoc.documentElement.childNodes;//获取根节点下的子节点 for (i = 0; i < x.length; i++) { if (1==x[i].nodeType){//是否为元素节点 document.write(x[i].nodeName);//标签名 document.write("<br/>"); y = x[i].childNodes;//获取子节点 for (j = 0; j < y.length; j++) { if (1==y[j].nodeType) {//是元素节点 document.write(y[j].nodeName);//标签名 document.write(":"); document.write(y[j].childNodes[0].nodeValue);//文本 document.write("<br/>"); } } document.write("<br/>"); } }</script>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。