Получение XML-данных с помощью XmlDataSource в ASP.NET 2.0 - Основы XmlDataSource

ОГЛАВЛЕНИЕ

Основы XmlDataSource

Элемент управления XmlDataSource является посредником для получения XML-данных, к которым потом может быть осуществлен доступ программным путем, либо они могут быть привязаны к элементу управления. Для осуществления доступа к XML-данным с ASP.NET-страницы посредством элемента XmlDataSource, начните с перетаскивания элемента из Toolbox в окно дизайнера (Designer) (элемент XmlDataSource расположен в разделе данных (Data) в Toolbox). Из смарт-тега элемента XmlDataSource, нажмите на ссылку настройки источника данных ( "Configure Data Source") для открытия мастера настройки (Configure Data Source wizard), показанного ниже. Находясь в мастере, вы можете установить три самых полезных свойства элемента XmlDataSource:

  • DataFile - указывает файл, содержащий XML-данные, к которым будет осуществлен доступ. Это может быть локальный  файл ~/App_Data/XMLFile.xml, либо удаленный файл, к примеру http://msdn.microsoft.com/rss.xml.
  • TransformFile - XML-документы могут быть преобразованы из одной структуры в другую посредством языка разметки известного как XSL Transformations, или XSLT. Если вы хотите преобразовать содержимое XML в DataFile до работы с XML-данными, укажите XSLT-файл для произведения преобразования. Для получения более подробной информации об XSLT прочитайте учебник по XSLT на сайте W3 Schools.
  • XPath - XPath является XML-синтаксисом, используемым для фильтрации содержимого XML-документа, возвращая конкретное значение либо набор узлов. Если вы хотите работать с конкретным набором XML-данных, укажите выражение XPath для ограничения результатов. Читайте учебник по XPath на сайте W3 School для получения большей информации.

Если у вас нет XML-данных или XSLT сохраненных в файле, вы можете указать необработанный XML или XSLT напрямую из свойств Data и Transform элемента XmlDataSource. Данные свойства невозможно установить посредством мастера настройки источника данных (Configure Data Source), но вместо этого могут быть установлены через окно свойств Properties. (нажмите на элемент XmlDataSource в режиме дизайнера (Designer) и затем нажмите F4.)

Привязка элемента управления XmlDataSource к элементу управления данными и осуществление доступа к XML-данным
Как только вы настроите элемент управления XmlDataSource, добавьте элемент управления данными на страницу и установите его свойство DataSourceID в ID элемента управления XmlDataSource (это легко можно выполнить используя выпадающий список в смарт-теге элемента управления). ASP.NET 2.0 предоставляет новые методы привязки данных для осуществления доступа к конкретным значениям либо набору узлов из привязки данных XML к элементу управления данными:

  • XPath("xpath") - осуществляет доступ к конкретному значению. Для того, чтобы получить следующее значение узла просто сошлитесь на узел в xpath; для атрибута поставьте вначале имени @.
  • XPathSelect("xpath") - возвращает набор узлов; может быть использована для привязки набора узлов ко вложенному элементу управления данными.
Вышеперечисленные выражения привязки данных должны быть представлены в пределах шаблонов. Для таких элементов управления, как GridView и DetailsView, которые составлены из полей (как BoundFields, CheckBoxFields и т.д.), используйте TemplateFields для каждого поля, которое вы хотите отобразить.