Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
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; Прочитано: 604 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!