【发布时间】:2021-10-02 07:08:44
【问题描述】:
我想从具有文本节点的 XML 中提取所有数据并创建一个对象数组。使用 Jquery 也是如此。
我有以下 XML 数据。
var header = ['name', 'data1', 'data2'];
var data = '<parent1>' +
'<person>' +
'<name>Name1</name>' +
'<details>' +
'<data1>123</data1>' +
'<data2>34567</data2>' +
'</details>' + '</child>' + '<person>' +
'<name>Name1</name>' +
'<details>' +
'<data1>123</data1>' +
'<data2>34567</data2>' +
'</details>' + '<person>' + '</parent1>';
xmlDoc = $.parseXML( data ),
$xml = $( xmlDoc ),
var tabData = [];
var obj = {};
$xml.find('parent1').each(function(item, index){
header.forEach(function (item, index) {
$t = $xml.find(item).text();
obj[item] = $t;
});
tabData.push(obj);
obj = {};
对象应该包含
{name : Name1, data1 :123, data2:34567}, {name : Name2, data1 :123, data2:34567}.
循环无法访问文本节点。 $this 也不能帮助我完成对单个孩子的搜索。
要求函数应该是动态的,并且应该适用于任何类型的 XML 树。
谁能帮忙。
【问题讨论】:
-
您能否edit 提出您的问题并将您已有的循环代码添加为minimal reproducible example?
-
@shaedrich 当然,我同意。谢谢
标签: javascript jquery xml html-table