如何用javascript解析分层xml文件
How to parse hierarchical xml file in javascript
我有以下XML文件
<node title="Home" controller="Home" action="Index">
<node title="Product Listing" controller="Listing" action="Index" >
<node title="Product Detail" controller="Ad" action="Detail" />
</node>
<node title="About Us" controller="AboutUs" action="Index" />
<node title="Contact Us" controller="Contact Us" action="Index" />
<node title="Place Your Order" controller="Order" action="Index" >
<node title="Order Placed" controller="Placed" action="Index" />
</node>
<node title="FAQ" controller="FAQ" action="Index" />
</node>
我想以以下格式解析这些元素
首页>产品列表>产品详情
首页>下单>下单
首页>联系我们
主页>常见问题
首页>关于我们
我尝试过这样做,但它不能给出层次迭代。
function GetChildNode1(xml) {
$(xml).find('node').each(function (i) {
nodeArray.push($(this).attr('title'));
GetChildNode($(xml).find('node').eq(i));
});
}
我怎么能做到这一点。这是获得以下输出的正确xml格式吗
维护XML的创建顺序。
var string = '<node title="Home" controller="Home" action="Index"><node title="Product Listing" controller="Listing" action="Index" > <node title="Product Detail" controller="Ad" action="Detail" /></node><node title="About Us" controller="AboutUs" action="Index" /><node title="Contact Us" controller="Contact Us" action="Index" /><node title="Place Your Order" controller="Order" action="Index" > <node title="Order Placed" controller="Placed" action="Index" /></node><node title="FAQ" controller="FAQ" action="Index" /></node>'
var $doc = $.parseXML(string);
parse($($doc))
function parse($doc, array) {
array = array || [];
$doc.children('node').each(function () {
var $this = $(this);
array.push($this.attr('title'));
if ($this.is(':has(node)')) {
parse($this, array);
} else {
$('<li />', {
text: array.join()
}).appendTo('ul')
}
array.splice(array.length - 1, 1)
})
}
演示:Fiddle
相关文章:
- 我应该如何从xml文件构建一个javascript页面
- 将XML转换为普通的旧JavaScript对象
- jQuery AJAX write to XML
- 如何将childNodes用于XML文档
- 在javascript中的xml中创建一个链接
- JSON到XML的转换
- SVG xml to image
- 如何通过安全的https连接在javascript中使用基于soap xml的Web服务
- 显示IIS上javascript文件(SOAP请求)的XML响应
- 在Javascript中循环使用XML
- 谷歌电子表格的自定义xml解析功能
- Windows 8 Javascript应用程序XML对象
- 如何在Node.js中根据XML验证DTD
- 如何使用javascript或jquery mobile从url读取和显示XML文件
- Javascript-分层采样
- 使用Javascript反向遍历XML
- 在CSS和HTML中显示XML
- 带有显示XML数据的HTML的空白页
- 在网页中显示分层 xml 数据
- 如何用javascript解析分层xml文件