Загрузка XML

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

Доброго времени суток, уважаемые читатели блога okITgo.ru! Как говорится, недалеко отходя от кассы, продолжу рассказ об обработке XML документов и в этот раз опишу полезный прием, позволяющий более простым способом обслуживать код JavaScript, а также добиться гарантии того, что один и тот же код используется на соответствующих веб страницах вашего сайта, где он необходим. Таким образом легче поддерживать целостность сайта и повторно использовать стандартные скрипты. Конечно Америку я Вам не открою, но, может быть, для кого-то данный метод окажется полезным и будет взят на заметку.

Итак, если в двух словах (на примере такой распространенной задачи, как загрузка XML документов из файла или из строки): код для загрузки XML документов может хранится в функции, а сама эта функция может быть описана во внешнем файле.


Функция loadXMLDoc()

Чтобы сделать код загрузки более простым и понятным, его следует написать в виде функции:

function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
 {
 xhttp=new XMLHttpRequest();
 }
else
 {
 xhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
 }
xhttp.open(“GET”,dname,false);
xhttp.send();
return xhttp.responseXML;
}

Функция выше может храниться в секции <head> веб страницы и вызываться из любого скрипта данного HTML документа.

Замечание Кстати, функция выше используется во всех примерах XML рубрики XML DOM!


Внешний Скрипт JavaScript для loadXMLDoc()

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

Файл называется "loadxmldoc.js" и загружается в head секцию HTML страницы. Затем функция loadXMLDoc() может быть вызвана из любого скрипта страницы.

Следующий пример использует функцию loadXMLDoc() для загрузки books.xml:

Пример

<html>
<head>
<script type="text/javascript" src="loadxmldoc.js">
</script>
</head>
<body>

<script type="text/javascript">
xmlDoc=loadXMLDoc("books.xml");

здесь идет код…..

</script>

</body>
</html>

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

Как извлекать данные из XML файла я объясню в следующих статьях рубрики DOM.


Функция loadXMLString()

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

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

Функция выше может хранится в головной (<head>) секции HTML страницы и вызываться из любого скрипта на этой странице.

Замечание Функция, описанная выше, используется во всех XML примерах рубрики XML DOM!


Внешний файл скрипта JavaScript для Функции loadXMLString()

По аналогии с загрузкой XML документа из файла, функцию загрузки из строки loadXMLString() я также храню в файлике "loadxmlstring.js".

Пример

<html>
<head>
<script type="text/javascript" src="loadxmlstring.js"></script>
</head>
<body>
<script type="text/javascript">
text="<bookstore>"
text=text+"<book>";
text=text+"<title>Самогон и другие спиртные напитки домашнего приготовления</title>";
text=text+"<author>Байдакова Ирина</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";

xmlDoc=loadXMLString(text);

здесь идет какой-то код…..

</script>
</body>
</html>

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

Надеюсь, наглядные примеры помогли Вам лучше понять суть метода хранения часто используемых скриптов во внешних файлах. Спасибо за внимание! До новых встреч на страницах сайта okITgo.ru.

Ваш отзыв