Статьи

Как читать XML

Иногда вам просто нужен простой способ чтения XML в код JavaScript и создания переменных из элементов XML. К счастью, JQuery может читать XML легко! 🙂 Есть много доступных плагинов и фрагментов кода, и вот выбор из множества!

В этом посте мы расскажем о следующих возможностях чтения XML:

  1. Разбор XML JavaScript
  2. Синтаксический анализ jQuery XML
  3. Использование jQuery.get () для получения данных из xml
  4. Плагин jQuery XML
  5. Советы по синтаксическому анализу XML
  6. Какие функции 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(&quot;marker&quot;).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/