Чтение онлайн

ЖАНРЫ

Обработка баз данных на Visual Basic®.NET

Прайс Кевин Т.

Шрифт:

Разработчики, имеющие большой опыт работы с 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 к синтаксису предъявляются очень строгие требования, например если не указать замыкающий дескриптор или пропустить какой-то элемент, то чтение всего документа может закончиться неудачей.

НА ЗАМЕТКУ

Семантика XML интересна тем, что на элемент можно ссылаться как на узел и наоборот. В некоторых публикациях элемент также называют дескриптором. Во избежание путаницы

здесь и далее используются только термины "элемент" и"узел". 

Элементы не только могут иметь атрибуты, но и подчиненные элементы; аналогично, подчиненные элементы могут иметь свои собственные атрибуты, как показано в листинге 9.1.

Листинг 9.1. Пример элемента Person с подчиненными элементами

<Person firstName="John">

 lastName = "Doe"

 address1 = "123 Main Street"

 address2 = ""

 city = "Sometown"

 state = "ОН"

 zip = "22222"

 phone = "111-242=5512"

 <orders>

<order id="111" itemid="2932" itemdesc="Super Foo Widget"></order>

 </orders>

</Person>

Как видите, элемент Person здесь нужно закрыть явно, потому что изменился диапазон контейнера, т.е. теперь он содержит сведения о заказах orders. Приведенный в листинге 9.1 код является нейтральным, т.е. не содержит никакой информации о приложении, только данные и метаданные.

НА ЗАМЕТКУ

Языку XML посвящено множество материалов, опубликованных в печатных изданиях и в Internet. Прекрасное введение в XML можно найти по адресу:Вот несколько других адресов Web-узлов, которые содержат наиболее полные сведения по этой теме:

• Web-узел консорциума World Wide Web Consortium содержит официальные и хорошо документированные спецификации XML;

• Web-узел компании Microsoft содержит постоянно обновляемые ресурсы, которые охватывают все вопросы использования XML и родственных технологий с программными продуктами Microsoft;

• Web-узел компании TopXML/VBXML.com предлагает разные ресурсы и примеры кодов для работы с технологией XML.

Семейство технологий XML

Язык XML не одинок и сосуществует с несколькими другими родственными технологиями.

• XML Path Language (XPATH) предлагает способ извлечения информации из XML-документа. Хотя синтаксис XPATH радикально отличается от синтаксиса XML, он работает аналогично SQL-запросам.

• Extensible StyleSheet Language Transformations (XSLT) предлагает способ преобразования (т.е. вставки, удаления или изменения) данных XML-документа в данные, которые могут использоваться в другом XML-документе. XSLT может использовать технологию XPATH для извлечения преобразуемых данных.

• Extensible StyleSheet Language (XSL) — это XSLT плюс объекты, которые позволяют разработчику описывать способ отображения информации в броузере или другом XSL-совместимом приложении.

• Document Object Model (DOM) содержит стандартный набор функций, которые позволяют программными средствами извлекать данные из XML- или HTML-документа.

• Simple Object Access Protocol (SOAP) – это спецификация вызовов Web-служб или других Web-ориентированных приложений и служб, а также форматирования отклика. Более подробно SOAP рассматривается в главе 12, "Web-службы и технологии промежуточного уровня".

РИС. 9.1. Иерархия технологий XML, XSL, XSLT u XPATH

На рис. 9.1 показана взаимосвязь между технологиями XML, XSL, XSLT и XPATH в приложении на основе XML. (Более подробно такие приложения рассматриваются далее, в разделе о классах XML на платформе .NET.) Обратите внимание, что XML-документ является источником данных, т.е. содержит отображаемые в приложении данные. XPATH-запрос элементов People/Person используется для сбора сведений обо всех элементах Person из XML-документа. XSL-стиль окружает данные элементами с указанием шрифта с помощью XSL-страницы стиля. После анализа и обработки полученный результат возвращается в формате HTML.

Поделиться с друзьями: