js 加载 xml 及遍历属性及内容 整理
本文旨在: js加载xml文件并读取节点信息
1 加载xml文件
- var xmlDoc = loadXMLDoc("negativeData.xml");
- function loadXMLDoc(dname) {
- if (window.XMLHttpRequest) {
- xhttp = new XMLHttpRequest();
- } else {
- xhttp = new ActiveXObject("Microsoft.XMLHTTP");
- }
- xhttp.open("GET", dname, false);
- xhttp.send("");
- return xhttp.responseXML;
- }
2 根据tagName获取节点,读取属性值以及文本内容
- <root>
- <subNeg Id='1'>
- NegName
- </subNeg>
- </root>
- var Negs = xmlDoc.getElementsByTagName("subNeg"); //读取节点
- var attra=Negs.attributes['Id'].textContent; //读取属性值
- var text=Negs.textContent; //读取节点文本部分
- 以下实现:下面加载xml格式遍历子节点,输出为表格的功能
xml格式如下:
- <?xml version="1.0" encoding="utf-8" ?>
- <Negative>
- <subNeg cate="一、农、林、牧、渔业">
- <neg ord="(一)" cate="种业">
- 未经批准,禁止采集农作物种质资源。
- </neg>
- <neg ord="(二)" cate="农业">
- 未经批准,禁止占用农作物种质资源。
- </neg>
- </subNeg>
- </Negative>
- js读取xml并遍历 Negative 节点的子节点,并输出表格
- function inidata() {
- var xmlDoc;
- //加载xml
- xmlDoc = loadXMLDoc("negativeData.xml");
- var htmlstr = new Array();
- //解析
- var Negs = xmlDoc.getElementsByTagName("subNeg");
- console.log("Negs" + Negs.length);
- $(Negs).each(function (i, v) {
- htmlstr = new Array();
- var thead = '<table><thead><tr><th style="width: 10%; text-align: center;">序号</th><th style="width: 20%; text-align: center;">领域</th><th style="width: 70%; text-align: center;">特别管理措施</th></tr></thead>';
- htmlstr.push(thead);
- var category = v.attributes["cate"].textContent;
- console.log(category);
- console.log("category" + category);
- htmlstr.push('<tr><td colspan="3" style="font-size:20px;">' + category + '</td></tr>');
- var subs = v.getElementsByTagName("neg");
- $(subs).each(function (si, sv) {
- var orinfo = sv.attributes["ord"].textContent;
- var cate = sv.attributes["cate"].textContent;
- var text = sv.textContent;
- htmlstr.push('<tr><td scope="row">' + orinfo + '</td><td scope="row">' + cate + '</td><td scope="row" style="padding:10px;">' + text + '</td></tr > ');
- });
- htmlstr.push("</table ")
- $("#datalist").append(htmlstr.join(''));
- });
- }
加载xml的方法:
- function loadXMLDoc(dname) {
- if (window.XMLHttpRequest) {
- xhttp = new XMLHttpRequest();
- } else {
- xhttp = new ActiveXObject("Microsoft.XMLHTTP");
- }
- xhttp.open("GET", dname, false);
- xhttp.send("");
- return xhttp.responseXML;
- }
js 加载 xml 及遍历属性及内容 整理的更多相关文章
- 通过JS加载XML文件,跨浏览器兼容
引言 通过JS加载XML文件,跨多种浏览器兼容. 在Chrome中,没有load方法,需要特殊处理! 解决方案 部分代码 try //Internet Explorer { xmlDoc=new Ac ...
- js便签笔记(8)——js加载XML字符串或文件
1. 加载XML文件 方法1:ajax方式.代码如下: var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObje ...
- js加载XML文件
// XML文件 <?xml version="1.0" encoding="gb2312"?> <root> <father n ...
- JS加载&解析XML文件,浏览器兼容
# JS加载XML,浏览器之间有差异,代码如下 this.createXMLDom = function() { var xmldoc; var xmlFile = "XXXXXXXXX. ...
- dom4j加载xml文件
## dom4j加载xml文件 ``` // 1. 加载xml文件 InputStream is = MyTest.class.getResourceAsStream("user.xml&q ...
- javascript加载XML字符串或文件
1. 加载XML文件 方法1:ajax方式.代码如下: var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObje ...
- 优化JS加载时间过长的一种思路
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 去年公司在漳州的一个项目中,现场工程人员反映地图部分出图有点 ...
- FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据
前面一篇对FusionCharts进行了一个简单的介绍,而且建立了我们第一个图形,但是那个是在HTML中使用<OBJECT>和<EMBED>标记来加载图形的,但是这 ...
- JS加载时间线
1.创建Document对象,开始解析web页面.解析HTML元素和他们的文本内容后添加Element对象和Text节点到文档中.这个阶段document.readyState = 'loading' ...
随机推荐
- Spring中的属性注入注解
@Inject使用 JSR330规范实现的 默认按照类型注入 如果需要按照名称注入,@Inject需要和@Name一起使用 @Resource JSR250规范实现的,需要导入不同的包 @Resour ...
- 《PHP程序员面试笔试宝典》——如何解决求职中的时间冲突问题?
如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> 对求职者而言,求职季就是一个赶场季,一天少则几家.十几家企业入校招聘,多则几十家.上百家企业招兵买马.企业多,选择项自然 ...
- redis(二)-----redis基本数据类型之字符串
Redis的全称是REmote Dictionary Server,它主要提供了5种数据结构:字符串.哈希.列表.集合.有序集合,同时在字符串的基础之上演变 出了位图(Bitmaps)和HyperLo ...
- yum 搭建私有仓库
今日内容 Linux 中安装软件的三种方法 yum 私有仓库 selinux 和 firewalld (iprables) 解决系统乱码 内容详细 一.Linux 安装软件的三种方法 rpm安装.yu ...
- c++ 子类与父类之间的类型转换
子类与父类之间的类型转换 先给一段代码 class Base { public: int a = 10; }; class pub_Derv : public Base { Base *getBase ...
- JAVA8学习——新的时间日期API&Java8总结
JAVA8-时间日期API java8之前用过的时间日期类. Date Calendar SimpleDateFormat 有很多致命的问题. 1.没有时区概念 2.计算麻烦,实现困难 3.类是可变的 ...
- validator参数校验
目录 validator参数校验 validator参数校验 type Req struct { Sn string `json:"sn" binding:"requir ...
- [自动化]基于kolla-ceph的自动化部署ceph集群
kolla-ceph来源: 项目中的部分代码来自于kolla和kolla-ansible kolla-ceph的介绍: 1.镜像的构建很方便, 基于容器的方式部署,创建.删除方便 2.kolla-ce ...
- Vue 源码解读(8)—— 编译器 之 解析(上)
特殊说明 由于文章篇幅限制,所以将 Vue 源码解读(8)-- 编译器 之 解析 拆成了上下两篇,所以在阅读本篇文章时请同时打开 Vue 源码解读(8)-- 编译器 之 解析(下)一起阅读. 前言 V ...
- 『无为则无心』Python基础 — 61、Python中的迭代器
目录 1.迭代的概念 2.迭代器的概念 3.可迭代的对象(Iterable) 4.迭代器对象(Iterator) 5.迭代器的使用体验 (1)基本用法 (2)实际应用 1.迭代的概念 (1)什么是迭代 ...