Windows Script Host для Windows 2000/XP
Шрифт:
Просмотр XML-файла с помощью объектной модели Internet Explorer 4.0
Если требуется только просматривать и анализировать XML-файл, не модифицируя его, то проще всего воспользоваться объектной моделью MSXML, реализованной в Internet Explorer 4.01.
Как отмечено в документации MSDN, эта объектная модель является устаревшей и должна быть заменена моделью XML DOM (XML Document Object Model), которая является стандартом корпорации W3C. Однако последняя на момент написания книги версия Internet Explorer 6.0 поддерживает обе эти модели для разбора XML-файлов.
Описание объектной модели
При рассмотрении объектной модели MSXML данные, которые хранятся в XML-файле, удобно представлять в виде иерархического дерева, имеющего один корневой элемент и множество дочерних элементов различного уровня вложенности.
Для анализа содержимого XML-файла используются три объекта:
Полный набор свойств и методов этих трех объектов мы рассматривать не будем; в табл. 6.2 и 6.3 приведено описание нескольких основных свойств объектов
Таблица 6.2. Свойства объекта
Свойство | Описание |
---|---|
URL | Задает или возвращает путь к обрабатываемому документу |
root | Содержит корневой элемент XML-документа, Свойство доступно только для чтения |
charset | Возвращает или устанавливает название текущей кодировочной таблицы |
version | Содержит номер версии XML. Свойство доступно только для чтения |
Таблица 6.3. Свойства объекта
Свойство | Описание |
---|---|
children | Содержит коллекцию дочерних элементов |
tagName | Содержит имя тега. Свойство доступно для чтения и записи |
text | Возвращает текстовое содержимое элементов и комментариев |
parent | Возвращает указатель на родительский элемент. Ссылки на родительский элемент имеют все элементы, за исключением корневого |
type | Возвращает тип элемента: 0 — элемент, 1 — текст, 2 — комментарий, 3 — Document, 4 — DTD |
Пример сценария
С помощью приведенного ниже сценария SortNameMSXML.js все записи из book.xml сортируются по фамилии и отображаются в Блокноте. Напомним, что аналогичную задачу для текстового файла с разделителями book.txt реализует сценарий SortName.js, приведенный в листинге 5.21. Алгоритм работы сценария SortNameMSXML.js, как и SortName.js, сводится к следующим основным шагам.
1. Информация из файла book.xml считывается в массив
2. Массив
3. Содержимое всех записей из массива
4. Файл out.txt открывается в Блокноте.
Таким образом, специфика работы с XML-файлом проявляется лишь при считывании данных из файла book.xml в массив
В свойство
Далее в функции
В цикле
Как мы видим, каждый элемент