JavaScript实现读取与输出XML文件数据的方法示例


Posted in Javascript onJune 05, 2018

本文实例讲述了JavaScript实现读取与输出XML文件数据的方法。分享给大家供大家参考,具体如下:

一、介绍

通过JavaScript读取XML文档中数据的方法很多。

其根本的思路就是:首先在后台加载XML文档,然后通过JavaScript获取文档中所需的数据,最后应用HTML展示获取的数据。

二、获取XML元素的属性值的应用

下面应用attributes属性和getNamedItem()方法获取一个指定的XML文档中的属性值。

三、代码

首先创建一个XML文档,并且为指定的元素设置属性,程序代码如下:

<?xml version="1.0" encoding="GB2312"?>
<employes>
  <employe id='1' attendence='经理'>
    <number>1001</number>
    <name>程**</name>
    <object>PHP</object>
    <tel>84971547</tel>
    <address>长春市</address>
    <e_mail>cak**@sina.com</e_mail>
  </employe>
</employes>

然后创建一个index.html文件,实现XML元素中数据和属性值的输出。

获取employe元素的引用,通过attributes获取employe元素的属性集合,用getNamedItem()方法获取集合attributes中attendence对象的引用,并将其赋值给变量attendenceperson。最后通过字符串的拼接实现XML文档中数据和属性值的输出,这里获取的属性值为“经理”。

程序代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>3water.com 获取XML元素的属性值</title>
</head>
<script>
function get_xml(){
  var xmldoc,employesNode,employeNode;        //定义变量
  var nameNode,titleNode,numberNode,displayText;   //定义变量
  var attributes,attendenceperson
  xmldoc = new ActiveXObject("Microsoft.XMLDOM");
  xmldoc.async = false;
  xmldoc.load("index.xml"); //载入指定的XML文档
  employesNode=xmldoc.documentElement;        //获取根节点
  employeNode=employesNode.firstChild;        //访问根元素下的第一个节点
  numberNode=employeNode.firstChild;         //获取number元素
  nameNode=numberNode.nextSibling;          //获取name元素
  objectNode=nameNode.nextSibling;
  telNode=objectNode.nextSibling;
  attributes=employeNode.attributes;         //获取employe节点的属性集合
  attendenceperson=attributes.getNamedItem("attendence")   //获取集合指定对象的引用
  //实现字符串的拼接,输出XML文档中的数据
  displayText="员工信息:"+numberNode.firstChild.nodeValue+','+nameNode.firstChild.nodeValue+', '+objectNode. firstChild.nodeValue+','+telNode.firstChild.nodeValue+"<br>职务:"+attendenceperson.value;
  div.innerHTML=displayText; //指定在ID标识为div的<div>标签中输出字符串displayText的信息
}
</script>
<body>
<h1>输出XML元素中的数据和属性值</h1>
<!--应用onClick事件调用函数get_xml()-->
<input type="button" value="获取XML元素的属性值" onClick="get_xml()">
<div id="div"></div>
</body>
</html>

四、运行结果

JavaScript实现读取与输出XML文件数据的方法示例

注:这里使用了ActiveXObject来进行针对xml文件的操作,需要使用兼容IE的浏览器才能得到运行效果。否则会提示:ActiveXObject is not defined

Javascript 相关文章推荐
提高网站信任度的技巧
Oct 17 Javascript
基于jquery的direction图片渐变动画效果
May 24 Javascript
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
jquery实现每个数字上都带进度条的幻灯片
Feb 20 Javascript
bootstrap模态框消失问题的解决方法
Dec 02 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
angularjs实现过滤并替换关键字小功能
Sep 19 Javascript
实现div内部滚动条滚动到底部和顶部的代码
Nov 15 Javascript
JQuery常见节点操作实例分析
May 15 jQuery
angular4应用中输入的最小值和最大值的方法
May 17 Javascript
NestJs使用Mongoose对MongoDB操作的方法
Feb 22 Javascript
Node错误处理笔记之挖坑系列教程
Jun 05 #Javascript
Vue项目中跨域问题解决方案
Jun 05 #Javascript
Vue多系统切换实现方案
Jun 05 #Javascript
jQuery实现的简单对话框拖动功能示例
Jun 05 #jQuery
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 #Javascript
vue使用技巧及vue项目中遇到的问题
Jun 04 #Javascript
jQuery实现的滑块滑动导航效果示例
Jun 04 #jQuery
You might like
PHP开发入门教程之面向对象
2006/12/05 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
7个Javascript地图脚本整理
2009/10/20 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
2015/08/27 Javascript
jQuery实现鼠标悬停背景翻转的黑色导航菜单代码
2015/09/14 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
python删除列表内容
2015/08/04 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
python中cPickle类使用方法详解
2018/08/27 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python二次规划和线性规划使用实例
2019/12/09 Python
canvas像素画板的实现代码
2018/11/21 HTML / CSS
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
init进程的作用
2015/08/20 面试题
学期自我鉴定
2013/11/04 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
外语系毕业生求职自荐信
2014/04/12 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
2015年质检工作总结
2015/05/04 职场文书
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
OpenFeign实现远程调用
2022/08/14 Java/Android