Как известно, основной целью разработки XML являлось создание простого текстового формата для хранения и передачи структурированной информации (иерархичность и объектность описываемых данных — ключевые свойства XML). Основные задачи, решаемые при помощи этой технологии в бизнес-приложениях, таковы:
□ межплатформенный обмен данными между системами разных разработчиков;
□ сбор данных из подразделений организации;
□ обмен коммерческими документами между предприятиями;
□ сбор отчетности государственными органами.
Сейчас библиотеки для работы с XML созданы практически для всех популярных систем разработки приложений и систем управления базами данных. При использовании сценариев WSH также нет необходимости писать собственные программы для разбора XML-формата (такие программы называются парсерами ), т.к. встроенный в Windows браузер Internet Explorer версии 4.01 и выше имеет в своем составе в качестве СОМ-объекта парсер MSXML — Microsoft XML library. В настоящей главе для простоты и краткости изложения мы будем пользоваться лишь двумя объектными моделями, которые предоставляет MSXML, не затрагивая рассмотрение таких специфических для XML-файлов понятий, как определения DTD — Documents Type Definitions, используемые для описания и проверки структуры XML-документа, или стилевые таблицы XSL — Extensible Stylesheet Language, предназначенные для формирования на основе данных из XML-источника страницы HTML.
Записная книжка в формате 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-формате
Тег |
Значение |
|
Корневой тег, обозначает начало записной книжки |
|
Обозначает начало новой записи в книжке |
|
Фамилия человека |
|
Имя |
|
Телефон |
|
Улица |
|
Дом |
|
Квартира |
|
Замечания |
Иерархия элементов из таблицы 6.1 показана в листинге 6.1.
Листинг 6.1. Иерархия XML-элементов для записной книжки
Фамилия
Имя
Телефон
Улица
Дом
Квартира
Примечание
Другие записи
Файл book.xml для записной книжки формируется в соответствии с листингом 6.1 (листинг 6.2)
Листинг 6.2. Содержимое файла book.xml
Потапов
Сергей
55-55-55
Моховая
3
10
Без примечаний
Попов
Андрей
56-56-56
Ленина
3
5
Без примечаний
Иванов
Иван
17-17-17
Садовая
4
6
Очень хороший человек
Казаков
Сергей
24-19-68
Полежаева
101
22
Тоже очень хороший человек
Просмотр 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()
возможен по имени или порядковому номеру).
Читать дальше