Андрей Попов - Windows Script Host для Windows 2000/XP
Записная книжка в формате XML
Р’ предыдущей главе РјС‹ рассматривали сценарий для работы СЃ записной книжкой, которая хранится РІ простом текстовом файле book.txt СЃ разделителями. Каждая строка этого файла содержала РѕРґРЅСѓ запись РІ формате Фамилия|РРјСЏ|Телефон|Улица|Дом|РљРІ.|Примечание:
Потапов|Сергей|55-55-55|Моховая|3|10|Без примечаний
Попов|Андрей|56-56-56|Ленина|3|5|Без примечаний
Рванов|Рван|17-17-17|Садовая|4|6|Очень хороший человек
Казаков|Сергей|24-19-68|Полежаева|101|22|Тоже очень хороший человек
Для преобразования файла book.txt к формату XML мы введем теги, описанные в табл. 6.1.
Таблица 6.1. Описание тегов для записной книжки в XML-формате
Тег Значение <PhoneList> Корневой тег, обозначает начало записной книжки <Person> Обозначает начало РЅРѕРІРѕР№ записи РІ книжке <LastName> Фамилия человека <Name> РРјСЏ <Phone> Телефон <Street> Улица <House> Дом <App> Квартира <Note> ЗамечанияРерархия элементов РёР· таблицы 6.1 показана РІ листинге 6.1.
Листинг 6.1. Рерархия XML-элементов для записной книжки<?xml version="1.0" standalone="yes"?>
<PhoneList>
В <Person>
 <LastName> Фамилия </LastName>
В <Name> РРјСЏ </Name>
 <Phone> Телефон </Phone>
 <Street> Улица </Street>
 <House> Дом </House>
 <App> Квартира </App>
 <Note> Примечание </Note>
В </Person>
 Другие записи
</PhoneList>
Файл book.xml для записной книжки формируется в соответствии с листингом 6.1 (листинг 6.2)
Листинг 6.2. Содержимое файла book.xml<?xml version="1.0" encoding="windows-1251"?>
<PhoneList>
 <!-- корневой тэг, список людей -->
В <Person>
 <LastName>Потапов</LastName>
 <Name>Сергей</Name>
В <Phone>55-55-55</Phone>
 <Street>Моховая</Street>
В <House>3</House>
В <App>10</App>
 <Note>Без примечаний</Note>
В </Person>
В <Person>
В <LastName>РџРѕРїРѕРІ</LastName>
 <Name>Андрей</Name>
В <Phone>56-56-56</Phone>
 <Street>Ленина</Street>
В <House>3</House>
В <App>5</App>
 <Note>Без примечаний</Note>
В </Person>
В <Person>
В <LastName>Рванов</LastName>
В <Name>Рван</Name>
В <Phone>17-17-17</Phone>
 <Street>Садовая</Street>
В <House>4</House>
В <App>6</App>
 <Note>Очень хороший человек</Note>
В </Person>
В <Person>
 <LastName>Казаков</LastName>
 <Name>Сергей</Name>
В <Phone>24-19-68</Phone>
 <Street>Полежаева</Street>
В <House>101</House>
В <App>22</App>
 <Note>Тоже очень хороший человек</Note>
В </Person>
</PhoneList>В
Просмотр 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-файла используются три объекта: 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