在 Javascfipt 中解析 XML [英] Parsing XML in Javascfipt

查看:24
本文介绍了在 Javascfipt 中解析 XML的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好的,我正在尝试从 Javascript 中的 get 请求解析 XML.这就是 XML 的样子

Ok I am trying to parse an XML from a get request in Javascript. This is how the XML looks like

<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>

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

I am trying to push the marker into an array so I can access it later (I am building a google maps marker with it)

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

In the result var I save the response from the get request (This is working perfect I know it cause I can alert the "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);



}

我可以提醒商品价格(当然是 1 比 1),但问题是我如何保存它以便稍后访问它.我很红,我必须将它推入 for 循环中的数据变量,但我不知道如何.

I can alert the items prices (1 by 1 of course), but the question is how can I save that so I can access it later. I red that I have to push it into the data variable in the for loop but I just dont know how.

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

Thanks in advance. PD Im using it in Appcelerator. (I think this is not very important)

推荐答案

试试这个:

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: "..." }]

参见工作小提琴:http://jsfiddle.net/nrabinowitz/XZnXn/

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

For more on navigating a DOM structure in Javascript, you might want to look at the MDN DOM Reference.

这篇关于在 Javascfipt 中解析 XML的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆