
- •Огляд сучасних Інтернет - технологій. Технологія asp.Net
- •Серверні елементи керування Label, TextBox, Button, Image, Table
- •Робота з xml
- •Файли перетворення документа
- •Файли визначення схеми документа
- •Клас XmlReader
- •Клас xPathDocument
- •Елемент управління xml
- •Створення простої сторінки, що використовує інформацію з бази даних
- •Елементи керування для відображення даних (repeater, datalist і datagrid)
- •Шаблони дизайну сторінок asp.Net
- •Зміст за замовчуванням
- •Програмне призначення головної сторінки
- •Вкладені майстер-сторінки
- •Послідовність подій
- •Створення структури переходів Web вузла
- •Елемент керування SiteMapPath
- •Програмне керування TreeView
- •Елемент керування Menu
Клас 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>