本文旨在: 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 及遍历属性及内容 整理的更多相关文章

  1. 通过JS加载XML文件,跨浏览器兼容

    引言 通过JS加载XML文件,跨多种浏览器兼容. 在Chrome中,没有load方法,需要特殊处理! 解决方案 部分代码 try //Internet Explorer { xmlDoc=new Ac ...

  2. js便签笔记(8)——js加载XML字符串或文件

    1. 加载XML文件 方法1:ajax方式.代码如下: var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObje ...

  3. js加载XML文件

    // XML文件 <?xml version="1.0" encoding="gb2312"?> <root> <father n ...

  4. JS加载&解析XML文件,浏览器兼容

    #  JS加载XML,浏览器之间有差异,代码如下 this.createXMLDom = function() { var xmldoc; var xmlFile = "XXXXXXXXX. ...

  5. dom4j加载xml文件

    ## dom4j加载xml文件 ``` // 1. 加载xml文件 InputStream is = MyTest.class.getResourceAsStream("user.xml&q ...

  6. javascript加载XML字符串或文件

    1. 加载XML文件 方法1:ajax方式.代码如下: var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObje ...

  7. 优化JS加载时间过长的一种思路

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 去年公司在漳州的一个项目中,现场工程人员反映地图部分出图有点 ...

  8. FusionCharts简单教程(二)-----使用js加载图像和setDataXML()加载数据

          前面一篇对FusionCharts进行了一个简单的介绍,而且建立了我们第一个图形,但是那个是在HTML中使用<OBJECT>和<EMBED>标记来加载图形的,但是这 ...

  9. JS加载时间线

    1.创建Document对象,开始解析web页面.解析HTML元素和他们的文本内容后添加Element对象和Text节点到文档中.这个阶段document.readyState = 'loading' ...

随机推荐

  1. Docker私有仓库与Harbor部署使用

    Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...

  2. NoSQL之Redis配置与优化

    NoSQL之Redis配置与优化 目录 NoSQL之Redis配置与优化 一.关系数据库和非关系数据库 1. 关系型数据库 2. 非关系型数据库 3. 非关系型数据库产生背景 4. 关系型数据库和非关 ...

  3. Centos7系统使用yum遇到的问题failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.

    简单粗暴重新安装yum. 1.查看linux上所有的yum包 # rpm -qa|grep yum 2.逐个卸载,如 # rpm -e yum-plugin-fastestmirror-1.1.31- ...

  4. IT职业技能图谱:架构师、H5、DBA、移动、大数据、运维...

    转载 作者:StuQ 文章收藏自微信:InfoQ   时隔近5个月,StuQ的小伙伴们再次出品了IT职业技能图谱更新版.这回除更新之前版本外,还添加了架构师.HTML 5.DBA等新的职业技能图谱.正 ...

  5. python使用泛型

    所谓的泛型, 就是将数据类型作为参数进行传递, 即在我们用的时候确定数据类型, 这是一种在面向对象语言中经常使用的特性 一般类使用 以SQLAlchemy举例 比如: 我们统一写个将数据保存到数据库的 ...

  6. python 百宝箱

    百宝箱 1. 正则表达式 删除缓存文件 os.system("/sbin/fuser -k .nfs*") os.system("rm -rf .nfs*") ...

  7. if,for,while,do...while

    顺序结构 java的基本结构就是顺序结构,除法特别指明,否则就按照顺序一句一句执行 顺序结构是最简单的算法结构 语句与语句之间,框与框之间是按照从上到下的顺序进行的,它是由若干依次执行的处理步骤组成, ...

  8. 零基础自学Python十天的时候,写的一款猜数字小游戏,附源码和软件下载链接!

    自学一门语言最重要的是要及时给自己反馈,那么经常写一些小程序培养语感很重要,写完可以总结一下程序中运用到了哪些零散的知识点. 本程序中运用到的知识点有: 1.输入输出函数 (input.print) ...

  9. Dapr 中文社区汇总

    Dapr 于 2019 年在微软创建.随着时间的推移,许多社区成员加入该项目并做出贡献,扩展并帮助它在 2021 年 2 月达到了稳定的 1.0 版本.2021年3 月提交给 CNCF,在2021年1 ...

  10. Wireshark教程之高级功能

    实验目的 1.工具介绍 2.主要应用 实验原理 1.网络管理员用来解决网络问题 2.网络安全工程师用来检测安全隐患 3.开发人员用来测试执行情况 4.学习网络协议 实验内容 1.数据流追踪功能 2.协 ...