Отображение содержимого XML-документов
Отображение с помощью элемента управления GridView
Далее, мы покажем, каким образом можно визуализировать данные, записанные в XML-файле с помощью элемента управления GridView.
Вначале нам нужно создать XML-файл - , в котором будут храниться сведения о мифических животных:
<?xml version="1.0" encoding="windows-1251" standalone="yes" ?> <MythicalAmimals> <Animal Title="Сфинкс" Place="Египет, Месопотамия, Греция" Description="Египетскими сфинксами называют мифических существ, которые в скульптурной традиции культуры представляют собой стражей. Арабское название Великого Сфинкса, Абу аль-Холь, переводится как "отец страха"."> <comments> <userComment rating="4" comment="В отличие от сфинкса в Египте, Месопотамии и Греции, где это существо "прожило" ровно столько же, сколько и сама цивилизация, азиатский сфинкс жив до сих пор. Первые изображения этого мифического существа появились в Азии как подражание эллинистическому искусству, но сфинксы Мадхуры, Каусамби и Санчи, датируемые третьим веком до нашей эры, абсолютно не похожи на своих греческих сородичей. " /> <userComment rating="2" comment="В шестнадцатом веке появилось такое понятие как "французский сфинкс". Это существо представляло собой льва с головой и грудью прекрасной девушки, чьи уши нередко были украшены серьгами. Ученые считают это гротеском древнего образа, утверждая, что идентичными фигурами был украшен дворец Нерона." /> </comments> </Animal> <Animal Title="Минотавр" Place="Эллада" Description="В греческой мифологии Минотавр представлял собой наполовину человека, наполовину быка. Он проживал в центре Лабиринта - запутанной конструкции, построенной на Крите для царя Миноса и спроектированной архитектором Дедалом, чтобы удерживать чудовище вдали от людей. Минотавр переводится с греческого как "миносский бык", а на Крите его называют Астерион и связывают с царем Миносом кровными узами."> <comments> <userComment rating="3" comment="Когда пришла очередь третьего жертвоприношения, стать одним из семи юношей, вызвался Тезей. Он пообещал отцу, что в случае удачи, повесит белый флаг на своем корабле на обратном пути. Дочь Миноса, Ариадна, влюбилась в Тезея, и дала ему клубок ниток, чтобы он не смог заблудиться в лабиринте. Тезей убил Минотавра и вывел афинян из пещеры." /> <userComment rating="4" comment=" На обратном пути Тезей забыл сменить черные паруса на белые и причалил с ними к родным берегам. Эгей каждый день выглядывал на скале своего сына, и, увидев, черные паруса, от горя бросился в море, которое с тех пор называется Эгейским. Минос же, будучи в ярости, оттого что Тезею удалось сбежать, заключил Дедала и Икара в высокую башню, откуда они смогли сбежать при помощи самодельных крыльев. " /> </comments> </Animal> <Animal Title="Химера" Place="Холмистые равнины Ликии" Description="Химера (греч. "коза) - мифическое создание, фигурирующее в мифе про Беллерофонта. Согласно этому мифу чудовище Химера наводило страх на всю округу. Представляло оно собой существо с исполинским телом козы, львиной головой, крыльями и змеиным хвостом. Из медной пасти Химеры бил огонь. Своих жертв чудовище затаптывало, опаливало огнем или убивало огромным хвостом." > <comments> <userComment rating="3" comment="В современном русском языке химерами называют несбыточные мечтания, существа с причудливыми очертаниями (чаще всего, совершенно отличными от прообраза в древнегреческом мифе)." /> </comments> </Animal> <Animal Title="Кентавры" Place="Греция" Description="В греческой мифологии кентавры представляли собой расу существ, внешний вид которых представлял собой получеловека-полуконя. В ранней аттической росписи они изображены в виде человеческого торса, прикрепленного к телу коня." > <comments> <userComment rating="4" comment="Греческое слово кентавр может иметь такую этимологию, как кен-таурос, то есть "раб быка". Некоторые считают, что своего кентавра герки взяли из Месопотамии, где он символизировал бога Ваала, олицетворявшего дождь и плодородие, поражающего рогами демона Мота, олицетворяющего летнюю засуху (в греческом варианте Мот стал называться Лупусом). И только позднее в Греции образ кентавров перенесли на чужеземцев с севера, скачущих на лошадях. " /> </comments> </Animal> <Animal Title="Горгульи" Place="Греция" Description="Горгулий можно с уверенностью назвать ближайшими родственниками химер. Однако используется это понятие, в основном, не в мифологическом контексте, а в архитектурном, где горгулью нередко путают с собственно химерой. Как такового понятий горгулья в мифологическом словаре не существует, оно появилось только в районе двенадцатого века с определенным архитектурным стилем и происходило от латинских корней или французского gargouille, что означало "стекать, глотать", так как фигурки были прикреплены к стокам на крыше зданий." > </Animal> </MythicalAmimals>Листинг .
Файл нужно сохранить в каталоге /App_Data.
Отображение XML-данных в элементе управления GridView
Чтобы сделать данные доступными для элементов управления на web-странице ASP.NET, используется элемент управления источника данных [2].
Настройка доступа к данным XML-файла
Откроем файл и переключимся в режим конструктора.
Из группы Данные в панели элементов перетащим на страницу элемент управления XmlDataSource.
В меню ЗадачиXmlDataSource выберем команду Настроить источник данных.
Откроется диалоговое окно Настройка источника данных <DataSourceName>.
В поле Файл данных вводим ~/App_Data/MythicalAnimals.xml.
Нажмем кнопку OК.
Элемент управления XmlDataSource делает данные в XML-файле доступными для элементов управления, находящихся на странице. Данные доступны в двух форматах: иерархическом и табличном. Элементы управления, привязанные к элементу управления XmlDataSource, могут получать данные в том формате, который им подходит.
Теперь можно отображать XML-данные в списочном элементе управления. Отобразим часть XML-данных в элементе управления GridView.
Базовое отображение XML-данных с помощью элемента управления GridView
Из группы Данные в панели элементов перетащим на страницу элемент GridView.
В списке Выбор источника данных в меню Задачи GridView выберем XmlDataSource1.
Нажмем клавиши CTRL+F5 для запуска страницы.