Основы ASP.NET 2.0

       

XMLDataSource


Элемент-источник данных XMLDataSource обеспечивает простой способ подключения XML-документов как источников данных к элементам, отображающим информацию. Также можно задать запрос XPath для того, чтобы отфильтровать данные. Как и SqlDataSource, он позволяет редактировать, удалять, добавлять записи данных. Для этого нужно получить доступ к находящемуся в нем объекту XmlDataDocument с помощью вызова метода GetXmlDocument. После редактирования документ сохраняется с помощью метода Save.

В отличие от табличных данных в СУБД, данные в XML-файлах иерархичны, поэтому XMLDataSource удобно привязывать к иерархичным элементам управления, например, Menu.

Синтаксис привязки к данным XML

Так как в приложениях XML-данные используются все чаще и чаще, был введен метод привязки данных, полученных из XMLDataSource.

Эти методы работают так же, как Bind и Eval, которые обсуждались в лекции 7:

<% XPathBinder.Eval(Container.DataItem, "name"); %>

Как и при связывании с помощью SQLDataSource, можно сокращенно писать

<%# XPath("name")%>

Так же как и у DataBinder, метод Eval класса XPathBinder поддерживает строки форматирования:

<% XPath("employees/employee/HireDate", "{0:mm dd yyyy}") %>

Применим этот синтаксис в элементе DataList, который получает данные из источника данных XmlDataSource:

<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/nobel.xml" XPath="//nobel/literature/writer"> </asp:XmlDataSource>

<asp:DataList ID="DataList1" DataSourceID="XmlDataSource1" runat="server"> <ItemTemplate> <p> <%# XPath("name")%> получил премию по литературе в <%# XPath("winningdate")%> за произведение <%# XPath("work")%></b> </p> </ItemTemplate> </asp:DataList>



Содержание раздела