ADO.NET. Управление базами данных. Связь по схеме OLE DB провайдера. Коррекция стилей DataGridView, страница 35

Для того, чтобы убедится в этом, достаточно открыть любой файл типа resx, sln, или csproj в рамках студии с помощью команды Open With..., которая доступна в выпадающем меню, приписанном кнопке Open диалога File®Open. Проделайте это с файлом проекта (csproj), который не является активным в данный момент, то есть, не открыт обычным способом.

Команда Open With инициирует диалог по выбору инструмента, который студия будет использовать для открытия файла. Выберите редактор XML Editor. Он запустится и покажет содержимое файла csproj, который представляет собой описание настроек проекта и перечень его файлов на языке XML. Например, рассмотрим блок тегов.

<ItemGroup>

  <Compile Include="MainForm.cs">

   <SubType>Form</SubType>

  </Compile>

    <!-- Здесь следуют другие элементы типа <Compile> </Compile>

  . . .

</ItemGroup>

Пара тегов <ItemGroup> </ItemGroup> задает границы сложного элемента XML, в который вложен другой сложный элемент, ограниченный тегами <Compile> </Compile>, в который, в свою очередь, вложен простой элементы вида: <SubType>Form</SubType>.

Рассмотрим любой из элементов <Compile>. Присвоения вида: Include = "MainForm.cs" задают атрибуты элементов (атрибут=значение). С помощью элементов и атрибутов описываются сложные (вложенные друг в друга) структуры данных. Содержимое между тегами: <!-- и --> является комментарием и игнорируется процессорами XML.

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

Язык XML и базы данных

XML-документ, также как и реляционная база данных, служат для представления сущностей реального мира (business entities) в виде отношений (или таблиц). Важно понимать различия между ними.

·  Реляционные базы хранят данные непосредственно в виде таблиц, а XML использует для этого документы.

·  Экземпляром сущности в реляционной базе является строка таблицы, а в XML—element документа.

·  В реляционной базе характеристики сущности представлены в виде колонок таблицы, а в XML-документе они могут быть представлены разными способами: в виде атрибутов, в виде значений элементов или в виде вложенных элементов (subelements).

Ниже показаны таблица Customers и один из способов ее отображения в пространство XML-документов.

CustID

Name

Phone

101

Peter Norton

555-2233

102

Graem Malcolm

555-4466

<Customers>

<Customer CustID="101" Name="Peter Norton" Phone="555-2233"/>

<Customer CustID="102" Name="Graem Malcolm" Phone="555-4466"/>

</Customers>

Здесь характеристики каждого экземпляра сущности Customers заданы с помощью атрибутов. Отметьте, что возможны и альтернативные способы. Например, способ отображения с акцентом на элементы, его называют element-centric отображением. Здесь все характеристики сущности заданы с помощью элементов.

<Customers>

<Customer>

  <CustID>101</CustID>

  <Name>Peter Norton</Name>

  <Phone>555-2233</Phone>

</Customer>

<Customer>

  <CustID>102</CustID>

  <Name>Graem Malcolm</Name>

  <Phone>555-3344</Phone>

</Customer>

</Customers>

Возможен и смешанный подход, в котором использованы все три способа: атрибуты, элементы и значения элементов.

<Customers>

<Customer CustID="101">Peter Norton

  <Phone>555-2233</Phone>

</Customer>

<Customer CustID="102">Graem Malcolm

  <Phone>555-3344</Phone>

</Customer>

</Customers>