簡體   English   中英

使用javascript解析XML而沒有AJAX?

[英]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遍歷方法/屬性,例如childNodesgetElementsByTagName()來獲取所需的節點。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM