gpt4 book ai didi

javascript - 在 Javascript 中解析 XML

转载 作者:数据小太阳 更新时间:2023-10-29 02:37:04 25 4
gpt4 key购买 nike

好的,我正在尝试从 Javascript 中的获取请求解析 XML。这是 XML 的样子

<markers>
<marker>
<name>
<![CDATA[ Pan Africa Market ]]>
</name>
<address>
<![CDATA[ 1521 1st Ave, Seattle, WA ]]>
</address>
<lat>47.608940</lat>
<lng>-122.340141</lng>
<price>150</price>
<type>restaurant</type>
</marker>
</markers>

我正在尝试将标记插入数组以便稍后访问它(我正在用它构建一个谷歌地图标记)

在结果 var 中,我保存了 get 请求的响应(这是完美的,我知道它因为我可以提醒“params.length”)

var result = this.responseText;

var xml = Ti.XML.parseString(result);
var items = xml.documentElement.getElementsByTagName("marker");

var name = xml.documentElement.getElementsByTagName("name");
var value = xml.documentElement.getElementsByTagName("address");

var data = [];

for (var i=0;i<items.length;i++) {
alert(items.item(i).getElementsByTagName("price").item(0).text);



}

我可以提醒商品价格(当然是一对一),但问题是我如何保存它以便以后访问它。我说我必须将它插入 for 循环中的数据变量,但我不知道如何操作。

提前致谢。PD 我在 Appcelerator 中使用它。 (我觉得这个不是很重要)

最佳答案

试试这个:

var markers = xml.documentElement.getElementsByTagName("marker");

var data = [];

for (var i=0;i<markers.length;i++) {
console.log(markers[i].getElementsByTagName("name")[0]);
data.push({
name: markers[i].getElementsByTagName("name")[0].textContent,
address: markers[i].getElementsByTagName("address")[0].textContent
})
}
// data is now [{name: "...", address: "..." }]

参见工作 fiddle :http://jsfiddle.net/nrabinowitz/XZnXn/

有关在 Javascript 中导航 DOM 结构的更多信息,您可能需要查看 MDN DOM Reference .

关于javascript - 在 Javascript 中解析 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8919456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com