Запрос XML в Javascript

#javascript #html #xml #xquery

#javascript #HTML #xml #xquery

Вопрос:

Я в недоумении относительно того, как выполнить запрос 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
 });
  

Комментарии:

1. # 1 попадание в Google w3schools.com/xml/xml_parser.asp . Есть ли что-то более конкретное, что вы хотите сделать?

Ответ №1:

Один из самых простых способов обработки 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

Комментарии:

1. Спасибо! это было очень полезно. но, похоже, у меня проблемы с chrome. я добавил некоторый контекст выше. у вас есть какие-либо идеи относительно того, почему Chrome не одобряет?

Ответ №2:

 for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
  

Ответ №3:

Комментарии:

1. Я не с или против w3schools.com Тем не менее, это всегда было полезно для меня.

2. я тоже. Я недавно обнаружил этот сайт, и я думаю, что очень важно знать, что они не связаны с w3c ни в какой форме

3. HTML5 также не был частью w3c ….. итак … имеет ли значение, является ли обучающий веб-сайт частью w3c или нет?

4. «имеет ли значение, является ли обучающий веб-сайт частью w3c или нет?» -> Нет, это не имеет значения (по крайней мере, если вы не собираетесь покупать у них сертификацию) Я предпочитаю лучшие источники, такие как MDN (mozilla). Но то, что вы используете, зависит от вас. Кстати, мой комментарий был просто для того, чтобы указать, что w3schools известен как сайт с каким-то плохим, старым контентом. Не все содержимое плохое, но это справедливое предупреждение

Ответ №4:

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

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

Ответ №5:

Поддержка 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