Полежаева

  101

  22

  Тоже очень хороший человек

 

 

<p>Просмотр XML-файла с помощью объектной модели Internet Explorer 4.0</p>

Если требуется только просматривать и анализировать XML-файл, не модифицируя его, то проще всего воспользоваться объектной моделью MSXML, реализованной в Internet Explorer 4.01.

Замечание

Как отмечено в документации MSDN, эта объектная модель является устаревшей и должна быть заменена моделью XML DOM (XML Document Object Model), которая является стандартом корпорации W3C. Однако последняя на момент написания книги версия Internet Explorer 6.0 поддерживает обе эти модели для разбора XML-файлов.

<p>Описание объектной модели</p>

При рассмотрении объектной модели MSXML данные, которые хранятся в XML-файле, удобно представлять в виде иерархического дерева, имеющего один корневой элемент и множество дочерних элементов различного уровня вложенности.

Для анализа содержимого XML-файла используются три объекта: XML Document (объект для работы с XML-документом в целом), XML Element (отвечает за работу с каждым из элементов XML-файла) и Element Collection (коллекция XML-элементов, доступ к которым при помощи метода item() возможен по имени или порядковому номеру).

Полный набор свойств и методов этих трех объектов мы рассматривать не будем; в табл. 6.2 и 6.3 приведено описание нескольких основных свойств объектов XML Document и XML Element, некоторые из них понадобятся нам в дальнейшем при составлении сценария на языке JScript для просмотра записной книжки.

Таблица 6.2. Свойства объекта XML Document

СвойствоОписание
URLЗадает или возвращает путь к обрабатываемому документу
rootСодержит корневой элемент XML-документа, Свойство доступно только для чтения
charsetВозвращает или устанавливает название текущей кодировочной таблицы
versionСодержит номер версии XML. Свойство доступно только для чтения

Таблица 6.3. Свойства объекта XML Element

СвойствоОписание
childrenСодержит коллекцию дочерних элементов
tagNameСодержит имя тега. Свойство доступно для чтения и записи
textВозвращает текстовое содержимое элементов и комментариев
parentВозвращает указатель на родительский элемент. Ссылки на родительский элемент имеют все элементы, за исключением корневого
typeВозвращает тип элемента: 0 — элемент, 1 — текст, 2 — комментарий, 3 — Document, 4 — DTD
<p>Пример сценария</p>

С помощью приведенного ниже сценария SortNameMSXML.js все записи из book.xml сортируются по фамилии и отображаются в Блокноте. Напомним, что аналогичную задачу для текстового файла с разделителями book.txt реализует сценарий SortName.js, приведенный в листинге 5.21. Алгоритм работы сценария SortNameMSXML.js, как и SortName.js, сводится к следующим основным шагам.

1. Информация из файла book.xml считывается в массив PersonArr. Каждый элемент массива является экземпляром объекта Person, в котором хранятся все данные для одного человека.

2. Массив PersonArr сортируется по возрастанию фамилий.

3. Содержимое всех записей из массива PersonArr выводится в текстовый файл out.txt.

4. Файл out.txt открывается в Блокноте.

Таким образом, специфика работы с XML-файлом проявляется лишь при считывании данных из файла book.xml в массив PersonArr. Для этого используется функция FileToArray(). Сначала в этой функции создается пустой массив PersonArr и экземпляр XML объекта XML Document:

PersonArr=new Array();

XML=WScript.CreateObject("MSXML");

В свойство url объекта XML записывается путь к файлу book.xml, который хранится в переменной PathBook:

XML.url=PathBook;

Далее в функции FileToArray о определяется количество элементов , т.е. количество записей в книжке (переменная NomRec):

Перейти на страницу:

Похожие книги