本文旨在: 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. 这个Dubbo注册中心扩展,有点意思!

    今天想和大家聊聊Dubbo源码中实现的一个注册中心扩展.它很特殊,也帮我解决了一个困扰已久的问题,刚刚在生产中用了,效果很好,迫不及待想分享给大家. Dubbo的扩展性非常灵活,可以无侵入源码加载自定 ...

  2. SQL server 查询当前数据库所有表的行数

    SELECT OBJECT_NAME(ii.id) TableName ,rows FROM sysindexes ii INNER JOIN sysobjects oo ON ( oo.id = i ...

  3. 关于基于GDAL库QT软件平台下C++语言开发使用说明

    背景前提 地理空间数据抽象库(GDAL)是一个用于读取和编写栅格和矢量地理空间数据格式的计算机软件库,由开源地理空间基金会在许可的X / MIT风格免费软件许可下发布. 作为一个库,它为调用应用程序提 ...

  4. Spring系列14:IoC容器的扩展点

    Spring系列14:IoC容器的扩展点 回顾 知识需要成体系地学习,本系列文章前后有关联,建议按照顺序阅读.上一篇我们详细介绍了Spring Bean的生命周期和丰富的扩展点,没有阅读的强烈建议先阅 ...

  5. 非极大值抑制算法(Python实现)

    date: 2017-07-21 16:48:02 非极大值抑制算法(Non-maximum suppression, NMS) 算法原理 非极大值抑制算法的本质是搜索局部极大值,抑制非极大值元素. ...

  6. Windows微信清理工具v.3.0.1

    Windows微信清理工具v.3.0.1 今天,我原创的Windows微信清理工具迎来最大更新! v.3.0.0更新内容: 1.使用tkinter重构GUI,界面更简单易用! 2.增加"清理 ...

  7. [LeetCode]4.寻找两个正序数组的中位数(Java)

    原题地址: median-of-two-sorted-arrays 题目描述: 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1, ...

  8. .Net Core Aop之IResourceFilter

    一.简介 在.net core 中Filter分为一下六大类: 1.AuthorizeAttribute(权限验证) 2.IResourceFilter(资源缓存) 3.IActionFilter(执 ...

  9. Dubbo源码剖析六之SPI扩展点的实现之getExtension

    上文Dubbo源码剖析六之SPI扩展点的实现之getExtensionLoader - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中分析了getExtensionLoader,本文继续分 ...

  10. 二、MyBatis基础配置应用实例

    核心配置文件sqlMapConfig.xml Mybatis核心配置文件层级关系 1)environments标签 2)mapper标签 eg: 3)properties标签 数据源配置参数抽取至jd ...