Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Прогрессивные технологии XML. XPathDocument. XPath. Преобразования XSL



XPathDocument

XPathDocument построен для выполнения запросов XPath и преобразований. Листинг 12.5. Создание XpathDocumment

1: <Page Language="VB" %>

2: <%@import Namespace="System.Xml" %>

3: <%@Import Namespace="System.Xml.XPathH %>

4:

5: <script runat="server">

6: sub Page Load(obj as object,e as eventargs)

7: Create an XPathDocument

8: Dim objDocument as New XPathDocument (Server.HapPath("books.xml"))

10: end sub

11: </script>

Этот объект строится для быстрого и простого доступа к файлу XML и передачи данных напрямую другим объектам для обработки.

Наиболее общим объектом, используемым с XPathDocument, является XPathNavigator. Этот объект обладает многими методами перемещения по XML-файлу.

XPath

XPath — это спецификация языка доступа к подструктурам XML-файла. Он позволяет строить запросы к данным XML так же, как строятся обычные запросы к базам данных с помощью SQL-выражений.

Запросы XPath — это строки, состоящие из ключевых слов, представляющие подструктуры XML-файла. Эти запросы выполняются методом Select класса XPathNaviga-lor. Обращаясь к нашему файлу books.xml, определим следующий оператор:

objNav.Select("descendant::book/author/last-name")

Этот запрос вернет фамилии авторов всех книг в файле.

Язык XPath реализует устойчивый прекрасный механизм для получения данных XML Для выполнения запросов уже не требуется использование DataSet.

Преобразования XSL

Все инструкции XSL выполняются процессором XSL преобразований (XslT). Мы используем XSL для создания таблицы стилей (style sheet), указывающей процессору XslT, каким образом преобразовывать данные. Так же, как используются стили, указывающие HTML, как форматировать фрагменты страницы, так же используется XSL для указания процессору XslT, как форматировать данные XML после их преобразования.

XSL-процессор выполняет запросы XPath для получения фрагментов XML-файла, Которые затем форматируются согласно таблице стилей. Произведение преобразования в ASP.NET достаточно простое — требуется только задать таблицу стилей XSL.

Дескрипторы xsl: template определяют, как форматировать определенный фрагмент документа.

Преобразование XML-файла в HTML задействует только дескрипторы таблиц и HTML. Можно также легко преобразовать его в другой XML-файл — это лишь вопрос использования какого-либо другого набора дескрипторов.

Первым, что хотелось бы отметить, является новое пространство имен System.XML.XSL. В строках 6—11, как всегда, создаются объекты XPathDocument и XPathNavigator. B строке 13 создается объект XslTransform, и далее в 14 строке создается объект XrolTextWriter для записи преобразованного документа в HTML-файл с именем output.html.

Внутри блока try файл XSL загружается в объект XslTransforro, который использует схему и таблицу стилей для форматирования нового HTML-документа. Затем вызывается метод Transform над объектом XslTransform для конвертации документа в соответствии с таблицей стилей. Первым параметром выступает содержимое XML-файла, который мы собираемся преобразовать (в данном случае используется DocumentNavigator). Последний параметр — это контейнер XmlTextWriter, в который мы собираемся поместить результат преобразования.

В результате всего этого в директории, где находится данный листинг, появился файл output.html, содержащий данные из XML-файла





Дата публикования: 2015-02-03; Прочитано: 299 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...