Иногда вам просто нужен простой способ чтения XML в код JavaScript и создания переменных из элементов XML. К счастью, JQuery может читать XML легко! 🙂 Есть много доступных плагинов и фрагментов кода, и вот выбор из множества!
В этом посте мы расскажем о следующих возможностях чтения XML:
- Разбор XML JavaScript
- Синтаксический анализ jQuery XML
- Использование jQuery.get () для получения данных из xml
- Плагин jQuery XML
- Советы по синтаксическому анализу XML
- Какие функции JS обычно не работают
Обычный JavaScript XML-разбор
var xmlDoc = request.responseXML; try // Build Markers, if available { var markers = xmlDoc.getElementsByTagName("marker") ; for ( var i = 0; i < markers.length ; i++ ) { var point = { markers[i].getAttribute("lat")), markers[i].getAttribute("lng") }; } } catch(e) {} [/js]
jQuery XML Parsing [js] $(request.responseXML).find("marker").each(function() { var marker = $(this); var point = { marker.attr("lat"), marker.attr("lng") }; });
Использование jQuery.get () для получения данных из xml
$('Contact',xml).each(function() {
srno = parseInt($(this).find("srno").text());
empId = $(this).find("empid").text();
name = $(this).find("name").text();
contact = $(this).find("contact-data").text();
type = $(this).find("type").text();
}
jParse jQuery XML плагин
«JParse — это плагин jQuery, который позволяет вам анализировать XML, полученный с помощью метода jQuery .ajax (делая его полностью настраиваемым). Он совместим с jQuery 1.4+, прост в использовании и очень легкий, всего 4 КБ! Лучше всего, он совместим со всеми основными браузерами: »
демонстрация
Скачать
Источник
Советы по синтаксическому анализу XML
- Постарайтесь ограничить размер вашего файла XML менее 5 МБ, чтобы избежать замедления системы (если ваш файл слишком большой, вы можете попытаться взять данные XML и превратить их в объект JSON. Есть много способов сделать это, включая плагин jQuery)
- Если вы не знакомы с синтаксисом XML, ознакомьтесь с правилами W3School по синтаксису XML .
- Поместите свой код в $ (document) .ready (function () {// здесь}
- Вы можете обнаружить, что некоторый код отлично работает в FF, но не работает в IE (кажется, у IE есть проблемы с тем, как jQuery обрабатывает XML в локальной файловой системе. Если вы загружаете тот же код на сервер, он работает без проблем)
- Если вы извлекаете данные для динамических страниц, попробуйте использовать относительный путь по абсолютному пути
Какие команды jQuery XML обычно не работают
var response = xmlHttp.responseText;
var sms = $(response).find('node').text();
var sms = $.parseXML(response).find('node').text();
Дальнейшие чтения: http://think2loud.com/reading-xml-with-jquery/