javascript中xml操作实现代码


Posted in Javascript onNovember 21, 2011

JavaScript 端:

//初始化页面 
function init() { 
var ary = JSONToArray(XMLReader("node","content.dibi")); 
var divtoc = document.getElementById("div_toc"); 
pageCount = ary.length; 
for(k = 0; k < ary.length; k++){ 
obj = eval('(' + ary[k] + ')'); 
divtoc.innerHTML += "<a href='javascript:changeImage(" + obj.page.substring(obj.page.length-1) + ")'>" 
+ obj.label + "</a>      "; 
} page = 1; 
changeImage(page); 
var pageManager = document.getElementById("div_page"); 
pageManager.innerHTML = "<a href='javascript:changePage(0)'>上一页</a>      " 
+ "<a href='javascript:changePage(1)'>下一页</a><br/><br/>"; 
var ary2 = JSONToArray(XMLReader("meta","content.dibi")); 
var divmeta = document.getElementById("div_meta"); 
var styStr = "<table>" 
for(l = 0; l < ary2.length; l++){ 
obj2 = eval('(' + ary2[l] + ')'); 
styStr += "<tr><td>" + obj2.name + "</td><td>" + obj2.content + "</td></tr>"; 
} 
divmeta.innerHTML = styStr + "</table>"; 
} 
//解析.dibi 文件。 
function XMLReader(key,fileName) { 
var parse = BrowserValidator(); 
parse.load(fileName); 
var json = ""; 
try{ 
var dom = parse.documentElement; 
var attrLength = 0; 
for (i = 0; i < dom.getElementsByTagName(key).length; i++) { 
attrLength = dom.getElementsByTagName(key)[i].attributes.length; 
objMsg = ",{"; 
for(j = 0; j < attrLength; j++){ 
objMsg += "'" + dom.getElementsByTagName(key)[i].attributes[j].name 
+ "':'" + dom.getElementsByTagName(key)[i].attributes[j].value + "',"; 
} 
objMsg = objMsg.substring(0,objMsg.length-1); 
json += objMsg + "}"; 
} 
json = json.substring(1); 
}catch(e){} 
return json; 
} 
//判断浏览器类型。支持 IE ,fireFox。 
function BrowserValidator(){ 
var result; 
if(!window.DOMParser && window.ActiveXObject) { 
result = new ActiveXObject("Microsoft.XMLDOM"); 
result.async = false; 
} 
else if(document.implementation && document.implementation.createDocument) { 
result = document.implementation.createDocument("", "", null); 
result.async = false; 
} 
return result; 
} 
var page = 1; //当前页 
var pageCount; //总页数 
//根据点击改变页面图片 
function changeImage(page1){ 
page = page1; 
var divimg = document.getElementById("div_img"); 
divimg.innerHTML = "<img width='500' src = 'images/" + page +".jpg'/>"; 
} 
//上页及下页 
function changePage(flag){ 
if(flag == 0 && page > 1){ 
page--; 
} 
if(flag == 1 && page < pageCount){ 
page++; 
} 
changeImage(page); 
} 

//将 JSON 数据转换成数组 
function JSONToArray(json){ 
return json.replace(new RegExp("},", "g"), "}|").split("|"); 
}

HTML 端:
<html> 
<head> 
<title></title> 
<script language="javascript" type="text/javascript" charset='gbk' src="xmlhelper.js"></script> 
</head> 
<body onload="init()"> 
<div id="div_toc"></div> 
<div id="div_img"></div> 
<div id="div_page"></div> 
<div id="div_meta"></div> 
</body> 
</html>

XML 端:略。
Javascript 相关文章推荐
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
Javascript绝句欣赏 一些经典的js代码
Feb 22 Javascript
jQuery层级选择器用法分析
Feb 10 Javascript
javascript中返回顶部按钮的实现
May 05 Javascript
使用AngularJS创建单页应用的编程指引
Jun 19 Javascript
功能强大的Bootstrap组件(结合js)
Aug 03 Javascript
jQuery为动态生成的select元素添加事件的方法
Aug 29 Javascript
React实现双向绑定示例代码
Sep 19 Javascript
微信小程序 自定义对话框实例详解
Jan 20 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
vue+elementUi图片上传组件使用详解
Aug 20 Javascript
VUEX采坑之路之获取不到$store的解决方法
Nov 08 Javascript
js调用activeX获取u盘序列号的代码
Nov 21 #Javascript
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 #Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 #Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
Nov 19 #Javascript
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 #Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
Nov 19 #Javascript
20款效果非常棒的 jQuery 插件小结分享
Nov 18 #Javascript
You might like
php桌面中心(三) 修改数据库
2007/03/11 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
php检测文本的编码
2015/07/26 PHP
php中使用websocket详解
2016/09/23 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
JavaScript中读取和保存文件实例
2014/05/08 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
vue中v-for加载本地静态图片方法
2018/03/03 Javascript
vue 组件中添加样式不生效的解决方法
2018/07/06 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
用js编写留言板
2020/03/17 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
Python使用爬虫猜密码
2016/02/19 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
python urllib爬取百度云连接的实例代码
2017/06/19 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
详解Python字典的操作
2019/03/04 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Pygame框架实现飞机大战
2020/08/07 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
django使用channels实现通信的示例
2020/10/19 Python
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
创业计划书中要认真思考的问题
2013/12/28 职场文书
普通话演讲稿
2014/09/03 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
新生入学欢迎词
2015/01/26 职场文书
导游词范文
2015/02/13 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript