[英]parsing xml with javascript WITHOUT AJAX?
我正在創建一個可在不同站點上安裝的小部件。 該小部件會將XML提要解析為JPlayer,因為該小部件將安裝在不同的站點上,但AJAX並不是一個選擇,有沒有一種方法可以使用javascript解析XML而無需使用AJAX。 我也試圖遠離PHP。
這是簡單XML中的代碼,但是我想用javascript重寫它。
$url = 'http://www.startalkradio.net/?page_id=354';
$rss = simplexml_load_file($url);
$items = $rss->channel->item;
<?php
$i = 0;
$data = array();
foreach ($items as $item) {
$data[] = array(
'title' => (string) $item->title,
'mp3' => (string) $item->enclosure['url'],
);
if (++$i == 3) break;
}
$jsdata = json_encode($data);
下面的代碼將在包括IE 6在內的所有主要瀏覽器中將XML字符串解析為XML文檔。一旦有了XML字符串,就可以使用常規的DOM遍歷方法/屬性,例如childNodes
和getElementsByTagName()
來獲取所需的節點。
var parseXml;
if (typeof window.DOMParser != "undefined") {
parseXml = function(xmlStr) {
return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
};
} else if (typeof window.ActiveXObject != "undefined" &&
new window.ActiveXObject("Microsoft.XMLDOM")) {
parseXml = function(xmlStr) {
var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(xmlStr);
return xmlDoc;
};
} else {
throw new Error("No XML parser found");
}
用法示例:
var xml = parseXml("<foo>Stuff</foo>");
alert(xml.documentElement.nodeName);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.