作家
登录

javascript读取xml

作者: 来源:www.28hudong.com 2013-03-30 03:58:28 阅读 我要评论

复制代码 代码如下:/** * 得到XML文件属性的集合对象 * @param xmlDoc XML对象 * @param name 属性名称 如: user * @return 返回 Array 对象 * Example XML: * <?xml version='1.0' encoding='utf-8'?> * <ekuy> * <user> * <name> * <cnname>小猪</cnname> * </name> * <age>27</age> * </user> * <user> * <name> * <cnname>小霞</cnname> * </name> * <age>26</age> * </user> * </ekuy> */ function getXMLArray(xmlDoc, name) { var keys = name.split('.'); var node = xmlDoc.documentElement; // 得到根节点 var rtn = new Array(); var n = 0; for(var i=0; i<keys.length; i++) { var childs = node.childNodes; // 得到子节点 var key = keys[i]; for(var k=0; k<childs.length; k++) { var child = childs[k]; if(child.nodeName == key) { // 判断子节点是否符合 if(i == keys.length-1) { rtn[n] = child; n++; } else { node = child; break; } } } } return rtn; } /** * 得到由getXMLArray函数得到对象中的值 * @param node 节点对象 * @param name * @return 返回 String */ function getValue(node, name) { var keys = name.split('.'); for(var i=0; i<keys.length; i++) { var childs = node.childNodes; // 得到子节点 var key = keys[i]; for(var k=0; k<childs.length; k++) { var child = childs[k]; if(child.nodeName == key) { // 判断子节点是否符合 if(child.childNodes.length == 1) { // 如果没有字节点,返回值 return child.text; } else { // 还有子节点,继续分析 node = child; break; } } } } return ""; } // 测试: var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.loadXML("<?xml version='1.0' encoding='utf-8'?><ekuy><user><name><cnname>小猪</cnname></name><age>27</age></user><user><name><cnname>小霞</cnname></name><age>26</age></user><user><name><cnname>小章</cnname></name><age>25</age></user></ekuy>"); var list = getXMLArray(xmlDoc, 'user'); for(var i=0; i<list.length; i++) { var obj = list[i]; document.write(getValue(obj, 'name.cnname')); document.write(getValue(obj, 'age')); document.write('<br/>'); }

  推荐阅读

  禁止查看源文件的代码

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]>>>详细阅读


本文标题:javascript读取xml

地址:http://www.17bianji.com/kaifa2/JS/31391.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)