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 相关文章推荐
js tab 选项卡
Apr 26 Javascript
jquery.validate使用攻略 第一部
Jul 01 Javascript
Jquery知识点二 jquery下对数组的操作
Jan 15 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
Mar 01 Javascript
判断访客终端类型集锦
Jun 05 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 Javascript
在Angular中使用JWT认证方法示例
Sep 10 Javascript
ng-zorro-antd 入门初体验
Dec 03 Javascript
VUE中使用MUI方法
Feb 12 Javascript
学习node.js 断言的使用详解
Mar 18 Javascript
JS设置自定义快捷键并实现图片上下左右移动
Oct 17 Javascript
微信小程序用canvas画图并分享
Mar 09 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 检查扩展库或函数是否可用的代码
2010/04/06 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
javascript 精粹笔记
2010/05/09 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
angular.JS实现网页禁用调试、复制和剪切
2017/03/31 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
jQuery EasyUI Layout实现tabs标签的实例
2017/09/26 jQuery
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python判断字符串与大小写转换
2015/06/08 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
python列表推导式操作解析
2019/11/26 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
Python错误的处理方法
2020/06/23 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
学生实习推荐信范文
2013/11/26 职场文书
高三历史教学反思
2014/01/09 职场文书
师德学习感言
2014/01/31 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
计算机毕业生求职信
2014/06/10 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
房屋维修申请报告
2015/05/18 职场文书
一篇文章学会Vue中间件管道
2021/06/20 Vue.js