Запрос XML в Javascript - PullRequest
       4

Запрос XML в Javascript

2 голосов
/ 18 октября 2011

Я в растерянности относительно того, как выполнить запрос к XML-файлу с помощью Javascript. Возможно, это не то, для чего XML действительно подходит (я знаю, что полнофункциональная база данных может быть лучшим вариантом). Я смотрел на такие инструменты, как XQuery, но я не знаю, как или если это то, что я могу использовать. Поддерживают ли браузеры XQuery? Могу ли я написать операторы XQuery в файлах Javascript таким образом, чтобы я мог использовать результаты в других функциях Javascript? Любая помощь будет оценена.
Вот некоторый контекст:

$.ajax({

    url: "http://api.wunderground.com/api/test.json",
    dataType: "jsonp",
    success: function (parsed_json) {
        //do stuff with json file
    $.ajax({
        type: "GET",
        url: "weather_map.xml",
        dataType: "xml",
        success: function(xml) {
            var value = $(xml).find('condition[name="Clear"]').text();
            alert(value);
                    // do stuff with XML file
        }
    });
        //do more stuff with json file
 });

Ответы [ 5 ]

2 голосов
/ 18 октября 2011

Одним из самых простых способов обработки XML в JavaScript является использование jQuery. Это очень распространенная библиотека JavaScript, которую можно использовать для обработки файлов XML. Например

var xml = '<students><student name="bob" last="smith"/><student name="john" last="doe"/></students>';
var value = $(xml).find('student[name="bob"]').attr('last');
console.log(value);  // prints: smith

Хороший учебник: http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery

0 голосов
/ 18 октября 2011

E4X поддерживается в некоторых браузерах, но я не знаю, насколько широк охват.Это не xquery, но это очень естественный способ обработки данных XML в javascript.

var x=new XML("<root><el>hello, world</el></root>");
alert(x.el);

Хорошее руководство по E4X - http://rephrase.net/days/07/06/e4x

0 голосов
/ 18 октября 2011

Рассматривали ли вы XQuery в браузере от http://xqib.org?

Там есть хорошая демонстрация: http://xqueryguestbook.my28msec.com/

0 голосов
/ 18 октября 2011
0 голосов
/ 18 октября 2011
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
...