Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
web2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
157.49 Кб
Скачать

Клас 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>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]