首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Jquery从XML数据创建对象数组

使用Jquery从XML数据创建对象数组
EN

Stack Overflow用户
提问于 2021-07-26 18:25:52
回答 1查看 26关注 0票数 0

我想从XML中提取所有数据,XML的文本节点存在于变量中,并创建一个对象数组。使用Jquery实现同样的功能。

我有下面的XML数据。

代码语言:javascript
运行
复制
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 = {};

该对象应包含

代码语言:javascript
运行
复制
{name : Name1, data1 :123, data2:34567}, {name : Name2, data1 :123, data2:34567}.

循环没有访问文本节点的权限。$this也不能帮助我完成对单个孩子的搜索。

要求是函数应该是动态的,并且应该适用于任何类型的XML树。

有谁能帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2021-07-26 18:39:54

您可以使用parseXML遍历xml。您的XML数据中确实有一些错误,因此在继续之前,请仔细检查您是否有正确的结束XML标记。

循环遍历每个person XML元素并创建一个javascript obj,然后将其推入一个数组中。

如下例所示:

代码语言:javascript
运行
复制
var xml = '<parent1><person><child><name>Name1</name><details><data1>123</data1><data2>34567</data2></details></child></person><person><child><name>Name2</name><details><data1>123</data1><data2>34567</data2></details></child></person></parent1>';
  
var xmlDoc = $.parseXML(xml);
var $xml = $(xmlDoc);
var array = [];

$xml.find('person').each(function (index) {
    var obj = {
      name: $(this).find('name').text(),
      data1: $(this).find('data1').text(),
      data2: $(this).find('data2').text()
  };
  
  array.push(obj);
});

console.log(array);
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68528258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档