парсинг xml с javascript БЕЗ AJAX? - PullRequest
       1

парсинг xml с javascript БЕЗ AJAX?

0 голосов
/ 07 декабря 2011

Я создаю виджет, который будет установлен на разных сайтах. Виджет будет анализировать XML-фид в JPlayer, поскольку виджет будет установлен на разных сайтах. AJAX - это не вариант, есть способ проанализировать XML с помощью JavaScript без использования AJAX. Я тоже стараюсь держаться подальше от PHP.

вот код в Simple 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);

1 Ответ

3 голосов
/ 07 декабря 2011

Следующее будет анализировать и XML-строку в XML-документе во всех основных браузерах, включая IE 6. После этого вы можете использовать обычные методы / свойства обхода 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...