русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Синтаксический анализ текста XML_документа


Дата добавления: 2015-07-09; просмотров: 637; Нарушение авторских прав



 

Иногда возникает необходимость просто проанализировать XML_документ, имеющий вид JavaScript_строки, а не загружать его из сети. В броузерах, реали_


 

522 Глава 21. JavaScript и XML

зованных на базе Mozilla, для этих целей используется объект DOMParser, в IE – ме_ тод loadXML() объекта Document. (Если вы внимательно изучили программный код метода XML.newDocument() в примере 21.1, то могли заметить вызов этого метода.)

 

В примере 21.4 демонстрируется не зависящая от платформы функция, которая выполняет синтаксический разбор XML_документа и работает как в Mozilla, так и в IE. Для платформ, отличающихся от этих двух, она пытается выполнить син_ таксический разбор текста, загрузив его с помощью объекта XMLHttpRequest с URL_адреса со спецификатором data:.

 

Пример 21.4. Синтаксический разбор XML'документа

/**

* Выполняет синтаксический разбор XML_документа, содержащегося в строковом

* аргументе, и возвращает представляющий его объект Document.

*/      
XML.parse = function(text) {    
if (typeof DOMParser != "undefined") {
// Mozilla, Firefox и родственные броузеры
return (new DOMParser()).parseFromString(text, "application/xml");
}      
else if (typeof ActiveXObject != "undefined") {
// Internet Explorer.    
var doc = XML.newDocument(); // Создать пустой документ
doc.loadXML(text); // Выполнить синтаксический
    // разбор текста в документе
return doc;   // Вернуть документ
}      
else {      

// Как последняя возможность _ попытаться загрузить документ



// с URL_адреса со спецификатором data:

// Этот прием работает в Safari. Спасибо Маносу Батсису (Manos Batsis)

// с его библиотекой Sarissa (sarissa.sourceforge.net).

 

var url = "data:text/xml;charset=utf_8," + encodeURIComponent(text); var request = new XMLHttpRequest();

 

request.open("GET", url, false); request.send(null);

return request.responseXML;

}

};

 



<== предыдущая лекция | следующая лекция ==>
Загрузка документа из сети | XML_документы в островках данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.295 сек.