Javascript XML 数据到关联数组

标签 javascript xml arrays object associative

我有如下所示的 XML 数据:

<?xml version='1.0' encoding='ISO-8859-1'?>
<cocktail_list>
<cocktail>
<name> Blue Hawaiian </name>
<ingredient>
<quantity>1</quantity>
<shot>White Rum</shot>
</ingredient>
<ingredient>
<quantity>1</quantity>
<shot>Blue Curacao</shot>
</ingredient>
<ingredient>
<quantity>2</quantity>
<shot>Pineapple Juice</shot>
</ingredient>
<ingredient>
<quantity>1</quantity>
<shot>Coconut Cream</shot>
</ingredient>
</cocktail>
<cocktail>...
</cocktail_list>

使用 Javascript 我想创建一个嵌套/关联数组(或使用对象),如下所示: arrayName[蓝色夏威夷[白朗姆酒 => 1,蓝色库拉科 => 2,菠萝汁 => 1...],名称[镜头 => 数量,...]]

现在我知道如何迭代 XML,但我不知道如何最好地将其转换为数组。

如有任何帮助,我们将不胜感激。

最佳答案

使用jquery.parseXML

var x = $.parseXML(xml_str);
var obj = {};
$(x).find("*").each(function(){
    obj[this.nodeName] = $(this).text;
});

那么你的 obj 是一个 json 对象,你可以用 obj["cocktail_list"]["cock_tail"]["name"] 操作 我这里没有考虑数组。对于像cock_tail这样的数组,你需要检查它是否已经在obj中,如果是则将其插入。

关于Javascript XML 数据到关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8111395/

相关文章:

javascript - nodejs 的并发/连续测试(nodejs 的 ncrunch)

java - Android Studio 搜索小部件未出现在屏幕上

javascript - 访问多维 javascript 对象中的字符串子元素

javascript - 搜索字符串以查找 JavaScript 中的所有字母

javascript - 将创建多少个内部函数副本

java - 如何在 Spring 属性中进行算术运算?

java - Android 软键盘重叠按钮(屏幕截图)

arrays - 如何避免快速创建对象数组的副本

javascript - Google Apps 脚本中的数组支持哪些函数?

javascript - 使用 Angular 4 和 Http observables 进行无限轮询