DOM Парсер

Рубрика: DOM - Объектная Модель Документа

Здравствуйте, уважаемые читатели блога okITgo.ru! Расскажу в этот раз о верном помошнике по обработке XML документов – DOM Парсере :-)

Большинство браузеров имеют встроенный XML парсер для чтения и работы с XML.

Парсер конвертирует XML в объект JavaScript, доступный для манипулирования (XML DOM).


XML Парсер

Модель XML DOM содержит методы (функции) для обхода XML деревьев, доступа к узлам, вставки и удаления узлов.

Однако, прежде чем получить доступ к XML документу для манипулирования, он должен быть загружен в объект XML DOM.

XML парсер считывает XML и конвертирует его в объект XML DOM, к которому можно получить доступ посредством JavaScript.

Большинство браузеров имеют встроенный XML парсер.


Загрузка XML Документа

Следующий фрагмент кода JavaScript загружает XML документ ("books.xml"):

Пример

if (window.XMLHttpRequest)
  {
  xhttp=new XMLHttpRequest();
  }
else // IE 5/6
  {
  xhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xhttp.open("GET","books.xml",false);
xhttp.send();
xmlDoc=xhttp.responseXML;

Попробуйте сами »

Объяснение кода:

  • Создаем объект XMLHTTP
  • Открываем объект XMLHTTP
  • Посылаем XML HTTP запрос на сервер
  • Присваиваем значение ответа объекту XML DOM

Загрузка XML Строки

Следующий код загружает и разбирает (парсит) XML строку:

Пример

if (window.DOMParser)
  {
  parser=new DOMParser();
  xmlDoc=parser.parseFromString(text,"text/xml");
  }
else // Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async=false;
  xmlDoc.loadXML(text);
  } 

Попробуйте сами »

Замечание: Internet Explorer использует метод loadXML() для разбора XML строки, тогда как остальные браузеры используют объект DOMParser.


Доступ Через Домены

Из соображений безопасности современные браузеры запрещают доступ через домены.

Это означает, что как веб страница, так и XML файл, который она пытается загрузить, должны быть расположены на одном и том же сервере.

Например, все примеры okITgo открывают XML файлы, расположенные в домене okITgo.

Если Вы хотите использовать пример выше на одной из своих веб страниц, XML файлы, которые Вы загружаете, должны находиться на вашем сервере.

Спасибо за внимание! До новых встреч на страницах сайта okITgo.ru.