| https://technet.microsoft.com/en-us/library/ms143221(v=sql.105).aspx | 
Работа с XML
Класс XPathDocument
Класс обеспечивает чтение и хранение в памяти XML-документов для трансформаций с помощью XSL. По документу можно перемещаться в любом направлении и получать произвольный доступ к любому элементу, используя выражения XPath.
Возьмем XML-документ "Quotes.xml" и файл трансформации XSL "Quotes.xsl". В выходной поток страницы будет направлен результат преобразования XML -документа:
<%
        XPathDocument doc =
          new XPathDocument(Server.MapPath("App_Data\\Quotes.xml"));
              XslCompiledTransform xsl = new XslCompiledTransform();
              xsl.Load(Server.MapPath("App_Data\\Quotes.xsl"));
              xsl.Transform(doc, null, Response.OutputStream); %>Благодаря тому, что в файле трансформации определены табличные теги, на странице появится таблица с нужной информацией.
Элемент управления XML
Элемент управления XML предоставляет способ преобразовать XML-документ, используя таблицу стилей XSL. Свойство DocumentSource позволяют задать XML-файл, в котором находятся данные, а TransformSource — файл трансформации XSLT.
В предыдущем примере того же результата можно достичь, если поставить на странице элемент управления XML:
<asp:Xml ID="Xml1" runat="server" DocumentSource="~/App_Code/Quotes.xml" TransformSource="~/App_Data /Quotes.xsl"></asp:Xml>
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>Заключение
В этой лекции мы рассмотрели работу с данными типа XML. XML предоставляет универсальный способ для описания и обмена структурированной информацией, независимо от приложений и разработчиков. На этом мы завершили рассмотрение работы с источниками данных.
 
                             


