js中递归解析xml
xml结构:
<RightMenuItems>
<Item Code="New" Name="新建" GroupCode="Edit" GroupName="编辑"/>
<Item Code="Open" Name="打开" GroupCode="Edit" GroupName="编辑">
<item Code="Word" Name="Word文档" GroupCode="CommonDocument" GroupName="常规"/>
<item Code="Excel" Name="Excel文档" GroupCode="CommonDocument" GroupName="常规"/>
<item Code="CustomDocument" Name="自定义文档" GroupCode="CustomDocument" GroupName="自定义"/>
</Item>
<Item Code="Save" Name="保存" GroupCode="Edit" GroupName="编辑"/>
<Item Code="Exit" Name="离开" GroupCode="Exit" GroupName="离开"/>
</RightMenuItems>
解析方法:
$(xml).find("RightMenuItems").each(function () {
this.data = Traversal($(this).children());
});
var Traversal = function (nodes) {
var itemList = new Array();
$.each(nodes, function () {
var entity = new RightMenuEntity();
var obj = $(this);
entity.Code = obj[0].getAttribute("Code");
entity.Name = obj[0].getAttribute("Name");
entity.GroupCode = obj[0].getAttribute("GroupCode");
entity.GroupName = obj[0].getAttribute("GroupName");
if (obj[0].hasChildNodes()) entity.ChildItems = Traversal(obj.children());
itemList.push(entity);
});
return itemList;
};
js中递归解析xml的更多相关文章
- Xml学习笔记(3)利用递归解析Xml文档添加到TreeView中
利用递归解析Xml文档添加到TreeView中 private void Form1_Load(object sender, EventArgs e) { XmlDocument doc = new ...
- mvc的自带json序列化的datetime在js中的解析
默认仅序列化后的日期格式是这样的:'/Date(124565787989)/'(数字随便敲的,数字表示相对于1970年的总毫秒数) 在js中借助eval函数,eval函数的意义:将参数中的字符串当作j ...
- Java中Sax解析XML
SAX基于事件的解析,解析器在一次读取XML文件中根据读取的数据产生相应的事件,由应用程序实现相应的事件处理逻辑,即它是一种“推”的解析方式:这种解析方法速度快.占用内存少,但是它需要应用程序自己处理 ...
- 使用dom4j中SAXReader解析xml数据
public ApiConfig(String configFilePath) throws DocumentException{ SAXReader reader = new SAXReader() ...
- Java中Dom4j解析XML
与利用DOM.SAX.JAXP机制来解析xml相比DOM4J表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml.dom4j是一 ...
- Java中Jdom解析XML
JDOM与DOM类似,也是一组用于解析XML的API,它本身不是一个解析器,默认的它内置了Apache的Xerces解析器:JDOM与DOM不同的是,DOM是跨语言的一套API,Java世界中有很多D ...
- Java中Dom解析XML
DOM将整个XML文件加载到内存中,并构建出节点树:应用程序可以通过遍历节点树的方式来解析XML文件中的各个节点.属性等信息:这种方式便于对XML节点的添加修改等,而且解析也很方便,然后它比较耗费内存 ...
- Android中pull解析XML文件的简单使用
首先,android中解析XML文件有三种方式,dom,sax,pull 这里先讲pull,稍候会说SAX和DOM pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐 ...
- JS加载&解析XML文件,浏览器兼容
# JS加载XML,浏览器之间有差异,代码如下 this.createXMLDom = function() { var xmldoc; var xmlFile = "XXXXXXXXX. ...
随机推荐
- poj 3764 The xor-longest Path(字典树)
题目链接:poj 3764 The xor-longest Path 题目大意:给定一棵树,每条边上有一个权值.找出一条路径,使得路径上权值的亦或和最大. 解题思路:dfs一遍,预处理出每一个节点到根 ...
- Sizzle一步步实现所有功能(层级选择)
第二步:实现Sizzle("el,el,el..."),Sizzle("el > el"),Sizzle("el el"),Sizzl ...
- bootstrap注意事项(七)图片
在本章中,我们将学习 Bootstrap 对图片的支持.Bootstrap 提供了三个可对图片应用简单样式的 class: .img-rounded:添加 border-radius:6px 来获得图 ...
- GCD 续集
1.延迟执行 1.1.perform... // 3秒后自动回到当前线程调用 self 的 download: 方法,并且传递参数:@“http://xxx.jpg” [self performSel ...
- OC中的代理模式
OC中的代理模式,关于代理模式,如果还有同学不太清楚的话,就自己去补充知识了,这里就不做介绍了,这里只介绍OC中是如何实现代理模式的.这里举一个简单的例子:小孩类,护士类,保姆类,其中小孩类有两个方法 ...
- 剑指offier第4题
/* 问题1:替换字符串,是在原来的字符串上做替换,还是新开辟一个字符串做替换! 问题2:在当前字符串替换,怎么替换才更有效率(不考虑java里现有的replace方法). 从前往后替换,后面的字符要 ...
- Flink资料(6) -- 如何添加一个新的Operator
false false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-n ...
- OSG事件回调
OSG中的节点主要使用回调(CallBack)来完成用户临时.需要每帧执行的工作.根据回调功能被调用的时机划分为更新回调(Update CallBack)和人机交互时间回调(Event CallBac ...
- J2SE知识点摘记(二十二)
Map 1.4.1 概述 数学中的映射关系在Java中就是通过Map来实现的.它表示,里面存储的元素是一个对(pair),我们通过一个对象,可以在这个映射关系中找到另外一个和这个对象相关 ...
- Oracle EBS-SQL (BOM-7):检查有BOM无工艺路线的子装配件或成品.sql
select msi.segment1, msi.description, msi.item_typefrom inv.mtl_system_items_b msiwher ...