Загрузить XML получить конкретный идентификатор содержимого jQuery или Javascript - PullRequest
0 голосов
/ 29 декабря 2011

Я пытаюсь разобрать канал XML, а затем извлечь из него только один конкретный идентификатор и его содержимое.Мне нужно сделать это только с JS ...

Я пробовал разные способы, но безуспешно.Самое близкое, что я получаю, это использование:

var html = $("#dangericon").html();
$("#test").append( html );

Однако, это не будет работать для меня, когда я попытаюсь сначала загрузить xml.Это должно быть на странице ... см .: http://jsfiddle.net/BZDBF/5/

Я пробовал: .ajax, .load, а также .parseXML (), однако, это не работает из-за неправильно отформатированного XML ...

Моя xml-ссылка: http://www.sierraavalanchecenter.org/bottomline-rss.php Я хотел бы просто получить содержимое #dangericon, то есть изображение.

Спасибо всем.

1 Ответ

0 голосов
/ 30 декабря 2011
//parse the XML string (wherever it comes from), then find all the `item` tags and select their child `description` tags, now we have all the `description` tags in your XML document
var $xml_parsed = $($.parseXML(xml_string)).find('item').children('description');

//now iterate through the `description` tags and find the `#dangericon` element within each
for (var i = 0, len = $xml_parsed.length; i < len; i++) {

    //to find an element we must create a jQuery object from the text of this `description` tag and then we can use `.find()` to search for the desired element
    var tmp = $($xml_parsed.eq(i).text()).find('#dangericon');

    //you can do what you want with the element now, it is saved in the `tmp` variable
}

Вот демонстрационная версия: http://jsfiddle.net/pdT8S/

Я предполагаю, что это делается в том же домене, если это так, то вам не нужно связываться с jsonp но если вы обращаетесь к своему XML-документу через домены, вам нужно будет просмотреть jsonp запросов (которые легко сделать с помощью jQuery, если удаленный сервер настроен правильно).

PSЯ работаю в Truckee и готов помочь с любым веб-сайтом, посвященным лыжному спорту, над которым вы работаете.

...