#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:
Взгляните на http://www.w3schools.com/dom/dom_loadxmldoc.asp
Комментарии:
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