js读取xml文件,解决浏览器兼容问题

js读取xml文件,解决浏览器兼容问题

使用children属性存在浏览器兼容问题,在ie中无法实现

$.ajax({//请求方式为gettype: "GET",//xml文件位置url: "<%=path%>/flex/assets/data/CatalogTreeData.xml",//返回数据格式为xmldataType: "xml",//请求成功完成后要执行的方法success: function (xml) {//获取根节点的所有子节点var elements = xml.documentElement.childNodes;//保存tree数据var json = "[";//获取所需的数据for (var i = 0; i < elements.length; i++) {//只取得lable=nearestNeighbourSearch的节点分支数据if(null!=elements[i].attributes && "nearestNeighbourSearch" == elements[i].getAttribute("label")){json = iterationNode(elements[i].childNodes, true, 1, json);json = json.substr(0,json.length-1) + "]";var zNodes = eval(json);//初始化参数树var zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);//默认选中第一个叶子节点//zTree.setting.callback.onClick(null, zTree.setting.treeId, zTree.getNodeByParam('isParent', false));}}}
});/* 
* 遍历迭代xml节点
* childNodes 子节点集合
* hasChildren 是否有子节点 
* id 节点ID值
* json 存储节点字符串
* 
*/
function iterationNode(childNodes, hasChildren, id, json){if(hasChildren){for( var i=0; childNodes!=null && i0 ){json += "isParent:1},";json = iterationNode(node.childNodes, true, id+"_"+i, json);}else{json += "isParent:0},";}}}}return json;
}



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部