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 相关文章推荐
javascript英文日期(有时间)选择器
May 02 Javascript
javascript实现动态CSS换肤技术的脚本
Jun 29 Javascript
JQuery困惑—包装集 DOM节点
Oct 16 Javascript
一个可以兼容IE FF的加为首页与加入收藏实现代码
Nov 02 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
Mar 02 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
Jun 05 Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 Javascript
基于JS+Canves实现点击按钮水波纹效果
Sep 15 Javascript
footer定位页面底部(代码分享)
Mar 07 Javascript
vue双向数据绑定知识点总结
Apr 18 Javascript
详解js的视频和音频采集
Aug 09 Javascript
微信小程序实现pdf、word等格式文件上传的方法
Sep 10 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.ini中文版(2)
2006/10/09 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
PHP实现批量修改文件后缀名的方法
2015/07/30 PHP
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
jQuery实现动画效果circle实例
2015/08/06 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
node中Express 动态设置端口的方法
2017/08/04 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
js闭包学习心得总结
2018/04/17 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
python如何通过protobuf实现rpc
2016/03/06 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Python切片操作深入详解
2018/07/27 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
python elasticsearch环境搭建详解
2019/09/02 Python
英国第一的购买便宜玩具和游戏的在线购物网站:Bargain Max
2018/01/24 全球购物
大学生蛋糕店创业计划书
2014/01/13 职场文书
国际商务专业毕业生自我鉴定2014
2014/09/27 职场文书
会计实训总结范文
2015/08/03 职场文书
教师节主题班会教案
2015/08/17 职场文书
初中班主任培训心得体会
2016/01/07 职场文书
Go使用协程交替打印字符
2021/04/29 Golang
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers