Разработчики, имеющие большой опыт работы с HTML, смогут легко понять преимущества надежного и эффективного использования XML. Пространство имен представлено элементом с префиксом xmlns:, оно содержит уникальное имя для контейнера, который предлагает функции и/или данные аналогично имени класса в языке Visual Basic. В среде Visual Basic .NET этот подход упрощается за счет использования расширенного набора классов для синтаксического анализа и манипулирования данными в формате XML. Рассмотрим обычный файл конфигурации web.config. Он имеет формат XML, а не "унаследованный" формат файла конфигурации.ini, хотя доступ к его данным можно осуществить с помощью аналогичных простых методов. Основное отличие заключается в том, что файл web.config обладает большими возможностями для расширения. Доказательством этого отличия является то, что управление файлом web.config осуществляется так же, как и любым другим документом в формате XML, хотя результаты подобных манипуляций могут быть совершенно иными.
Основным преимуществом формата XML (и его аналогов, соответствующих протоколу Simple Object Access Protocol – SOAP) является его нейтральность. Благодаря этому всегда можно создать приложение с расширением логики путем расширения данных, а не создания уникального кода для доступа к централизованно хранящимся данным.
В настоящей главе основное внимание сосредоточено на использовании XML в целях идентификации данных для приложений и пользователей. В ней описываются способы применения XML на платформе.NET в практических ситуациях. Более глубокое описание способов взаимодействия с базами данных и наборами данных DataSet с помощью классов модели ADO.NET приведено в главе 10, "ADO.NET и XML".
В настоящее время описанию XML посвящено много книг и ресурсов. Поэтому вместо подробного рассмотрения этой темы основное внимание в этой главе уделяется вопросам интеграции XML с платформой .NET. Читатели, которые хорошо знакомы с основами XML, могут пропустить обзорные разделы вплоть до раздела с описанием классов XML для платформы .NET.
Обзор XML
Язык XML предназначен только для работы с данными. Точнее говоря, он предназначен для создания набора сведений, или метаданных, которые описывают данные. Рассмотрим приведенный ниже простой фрагмент кода на языке HTML.
<form name="frmMain" action="mypage.aspx" method="POST">
</form>
Этот фрагмент содержит определение элемента form с атрибутами name, action и method. Атрибуты описывают отдельные элементы формы, сообщают Web-броузеру о выполняемых с ней действиях и являются простейшим примером метаданных. Обратите внимание на замыкающий дескриптор </form>, который обозначает конец контейнера элементов формы. В данном примере form – это универсальный контейнер с универсальными элементами. Экземпляр контейнера form образуется при размещении данных в его структуре.
В приведенном ниже коде показан способ использования элементов и атрибутов XML для описания конкретного фрагмента данных. В нем создается профиль пользователя, который сохраняется в виде узла. Узел (или элемент) Person содержит атрибуты, которые описывают данного пользователя.
<Person firstName="John" lastName="Doe" address1="123 Main Street" address2="" city="Sometown" state="OH" zip="22222" phone="111-242-5512" />
Обратите внимание, что вся информация, независимо от конкретного пользователя, хранится в элементе Person. Любое приложение, которое может анализировать данные в формате XML (а это подвластно практически любому современному коммерческому приложению для работы с данными), способно извлечь из этого кода сведения о пользователе: имя, фамилию, адрес и номер телефона. Кроме того, поскольку с этим пользователем никакие другие данные не связаны, все сведения заканчиваются замыкающим дескриптором </Person>. В формате XML к синтаксису предъявляются очень строгие требования, например если не указать замыкающий дескриптор или пропустить какой-то элемент, то чтение всего документа может закончиться неудачей.
НА ЗАМЕТКУ