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

Объектная модель документа XML. Загрузка данных XML. Изменение данных XML



DOM (от англ. Document Object Model — «объектная модель документа») — это не зависящий от платформы и языка программный интерфейс, позволяющий программам и скриптам получить доступ к содержимому HTML, XHTML и XML-документов, а также изменять содержимое, структуру и оформление таких документов.

Модель DOM не налагает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями "родительский-дочерний".

Изначально различные браузеры имели собственные модели документов (DOM), несовместимые с остальными. Для того чтобы обеспечить взаимную и обратную совместимость, специалисты международного консорциума W3C классифицировали эту модель по уровням, для каждого из которых была создана своя спецификация. Все эти спецификации объединены в общую группу, носящую название W3C DOM.

Еще один интерфейс прикладного программирования, называемый JDOM, обеспечивает более высокий, чем W3C DOM, уровень для работы с XML-документами на Java.

Серверный веб-элемент управления Xml выполняет чтение XML-файла и записывает его на веб-страницу ASP.NET в место размещения данного элемента управления. Если к XML-файлу применяется XSL-преобразование (XSLT), полученные преобразованные выходные данные будут отображаться на странице.

Существует три способа загрузки данных XML в веб-серверный элемент управления Xml:

Предоставление пути к внешнему документу XML с помощью свойства DocumentSource.

Загрузить документ XML как объект и передать его элементу управления, используя метод XmlDocument в событии Load и присвоив документ свойству Document элемента управления Xml.

Использовать встроенный XML между открывающим и закрывающим тегами элемента управления.

Серверный веб-элемент управления XML можно использовать для записи документа XML или результата преобразования XSLT на веб-страницу ASP.NET. Выходные данные XML отображаются на веб-странице в месте размещения элемента управления.

Чтобы использовать данные XML в качестве источника данных для других элементов управления, таких как Repeater, DataList или GridView, можно использовать элемент управления XmlDataSource.

Сведения XML и XSLT могут находиться во внешних документах, но данные XML также могут быть встроены в веб-страницу. Существует два способа ссылки на внешние документы с использованием параметров свойств серверного веб-элемента управления XML. Можно задать путь к документу XML в теге элемента управления или загрузить документы XML и XSLT как объекты и передать их элементу управления программным способом. Чтобы встроить данные XML-файла в страницу, его необходимо указать между открывающим и закрывающим тегом элемента управления.

Документ XML для отображения следует указать, задав одно из свойств, перечисленных в следующей таблице. Эти три свойства представляют различные типы документов XML для отображения. Определив соответствующее свойство, можно отобразить System.Xml.XmlDocument, строку XML или XML-файл.

Для отображения документа XML должно быть задано хотя бы одно из свойств документа XML. Если задано более одного свойства, то отображается документ XML, определенный при последней установке свойства. Документы, указанные в других свойствах, игнорируются.

При необходимости можно также указать в свойствах таблицу стилей XSL-преобразования (XSLT), выполняющую форматирование документа XML перед его записью в поток вывода. Свойства представляют различные типы таблиц стилей XSL-преобразования, которые могут быть использованы для форматирования документа. Установив соответствующее свойство, можно отформатировать документ XML с помощью объекта System.Xml.Xsl.XslCompiledTransform или файла таблиц стилей для XSL-преобразования. Если ни одна из таблиц стилей XSL-преобразования не указана, то при отображении документа XML используется форматирование по умолчанию.

Чтобы сделать данные доступными для элементов управления на веб-странице ASP.NET, используется элемент управления источника данных.

Алгоритм создания XML-файла

Откройте файл Default.aspx и переключитесь в режим конструктора.

Из группы Данные в панели элементов перетащите на страницу элемент управления XmlDataSource.

В меню ЗадачиXmlDataSource выберите команду Настроить источник данных.

Откроется диалоговое окно Настройка источника данных <DataSourceName>.

В поле Файл данных введите ~/App_Data/Bookstore.xml.

Нажмите кнопку OК.

Элемент управления XmlDataSource делает данные в XML-файле доступными для элементов управления, находящихся на странице. Данные доступны в двух форматах: иерархическом и табличном. Элементы управления, привязанные к элементу управления XmlDataSource, могут получать данные в том формате, который им подходит.

В данном случае иерархия файла Bookstore.xml предоставляет возможность реляционной интерпретации. Два уровня файла (книги и комментарии) могут восприниматься как две связанные друг с другом таблицы.

Теперь можно отображать XML-данные в списочном элементе управления. Для начала отобразите часть XML-данных в элементе управления GridView.

Базовое отображение XML-данных с помощью элемента управления GridView. Алгоритм

Из группы Данные в панели элементов перетащите на страницу элемент GridView.

В списке Выбор источника данных в меню Задачи GridView выберите XmlDataSource1.

Нажмите клавиши CTRL+F5 для запуска страницы.

Страница отображает XML-данные в сетке.

Отображаемые в элементе управления GridView данные демонстрируют следующие моменты, касающиеся интерпретации XML-данных:

Когда XML-данные представлены в виде записи данных, то по умолчанию столбцы создаются из атрибутов (таких как ISBN).

Дочерние элементы считаются частями отдельной таблицы, связанной с исходной. В данном примере элемент управления GridView не привязан к элементам comments в файле.

Пример XML-документа

XML-документы используют самоописываемый и простой синтаксис

<?xml version="1.0"?>

<note>

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

</note>

В первой строке этого документа - в XML-декларации - определяется версия XML, используемая в документе. В данном случае документ соответствует спецификации XML 1.0.

В следующей строке описывается корневой элемент документа (в ней как бы сообщается: "Этот документ - записка (note)"):

<note>

В следующих четырех строках описываются четыре дочерних элемента корневого элемента (to, from, heading, и body):

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don't forget me this weekend!</body>

И, наконец, в последней строке задается конец корневого элемента:

</note>

Пример изменения XML-файлов

Имеется простой пример XML-файла (ex01.xml).

<?xml version="1.0" encoding="WINDOWS-1251"?>

<tutorial>

<title>"Заметки об XSL"</title>

<author>Леонов Игорь Васильевич</author>

</tutorial>

Если мы откроем этот файл в браузере Internet Explorer, то мы увидим тот же самый текст, который приведен выше, вместе со всеми тегами и служебной информацией. Но нам не нужны теги и служебная информация! Мы хотим видеть только ту информацию, которая относится к делу, а при помощи тегов - управлять внешним видом этой информации. Эта задача решается легко и просто: необходимо к XML-файлу добавить шаблон преобразования - XSL-файл.

Перепишем наш XML-файл в следующем виде (ex01-1.xml).

<?xml version="1.0" encoding="WINDOWS-1251"?>

<?xml-stylesheet type='text/xsl' href='ex01-1.xsl'?>

<tutorial>

<title>"Заметки об XSL"</title>

<author>Леонов Игорь Васильевич</author>

</tutorial>

И создадим XSL-файл ex01-1.xsl. Текст файла приведен ниже.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:template match="/">

<p><strong><xsl:value-of select="//title"/></strong></p>

<p><xsl:value-of select="//author"/></p>

</xsl:template>

</xsl:stylesheet>

Если мы теперь откроем файл ex01-1.xsl в браузере Internet Explorer, то мы увидим, что наша задача решена, - на экране осталась только необходимая нам информация, все теги исчезли.





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



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