Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Применение класса XmlDataDocument
8 февраля 2009

Конструкция класса XmlDataDocument позволяет ему работать с объектом DataSet
напрямую. Класс XmlDataDocument является представлением XML-данных в памя-
ти подобно тому, как объект DataSet представляет в памяти обычные данные. Уп-
равление данными, загруженными в XmlDataDocument, построено на основе объек-
тной модели документа W3C Document Object Model (DOM), а объект XmlData-
Document способен выполнять роль источника данных для преобразований XSL.
Примечание Манипулирование документами XML не входит в тему этого учебного
курса, кроме того, подробный рассказ занял бы несколько глав, поэтому мы огра-
ничимся основами применения класса XmiData Document.
С каждым объектом XmlDataDocument связан объект DataSet. При создании
объекта XmlDataDocument следует передать конструктору ссылку на существующий
объект DataSet как параметр:
Visual Basic .NET
Dim myDocument As New Xml.XmlDataDocument(myDataSet)
Visual C#
XmlDataDocument myDocument = new XtnlDataDocument(myDataSet);
В результате создается объект XmlDataDocument, синхронизированный с задан-
ным объектом DataSet. При этом данные и схема DataSet автоматически считыва-
ются в XmlDataDocument. При внесении любых изменений в один объект, другой
объект обновляется автоматически.
^ Как создать объект XmlDataDocument из существующего объекта DataSet
Передайте конструктору класса XmiData Document ссылку на существующий объект
DataSet — его данные и схема будут загружены в новый объект XmlDataDocument.
Объект XmlDataDocument можно также создать, не указывая существующий
объект DataSet.
Visual Basic .NET
Dim myDocument As New Xml.XmlDataDocument()
Visual C#
Xnil Oat a Document myDocurnent - new XmlDataOocumentO;
В этом случае создается пустой объект DataSetn связывается с объектом Хт!Data-
Document, В обоих случаях DataSet, связанный с заданным объектом XmlDataDocument,
доступен через свойство Xml Data Document, DataSet.
Объект Xml Data Document можно заполнить данными в формате XML, взятыми
из XML-файла или потока, объекта XmlReader или XML-документа, прочитанного
при помощи TextReader. Чтобы загрузить XML-данные в объект XmlDataDocument и
синхронизировать их с заданным объектом DataSet, прежде всего необходимо выз-
вать метод ReadXmlSchema объекта DataSet, указав источник XML-схемы. Заданная
схема должна совпадать со структурой источника данных XML; обычно данные и
схему извлекают из одного и того же источника XML. Далее следует вызвать метод
Load объекта Xml Data Document., чтобы загрузить XML-данные в память. Вот как за-
грузить XML-данные из файла myXml.xml в объект Xmi Data Document.
Visual Basic .NET
Dim myDocurnent As New Xml.XmlDataDocument()
myDocurnent. DataSet. ReadXmlSchema ("C: \myXml. xml")
myDocument. Loacf("C:\myXml. xnil")
Visual C#
XmlDataDocument myDocurnent = new XrnlDataDocument();
inyDocument. DataSet. ReadXmlSchema ("C: \\myXml. xml");
myDocurnent. Load("C:\\myXml. xml");
>• Как заполнить объект XmlDataDocument данными из источника XML
1. Создайте экземпляр класса XmlDataDocument при помощи конструктора без па-
раметров:
Visual Basic .NET
Dim rnyDocument As New Xml.XmlDataDocumentf)
Visual C#
XmlDataDocument myDocument = new XmlDataDocumentf);
2. Вызовите метод ReadXmlSchema связанного объекта DataSet, чтобы загрузить в
него XML-схему:
Visual Basic .NET
myDocument. DataSet.ReadXmlSchema("C:\rnyXml.xml")
Visual C#
myDocument.DataSet.ReadXmlSchema("C:\\myXml.xml");
3. Вызовите метод XmlDataDocument.Load, чтобы загрузить данные XML:
Visual Basic .NET
rnyDocument. Load (" С: \myXrnl. xrnl")
Visual C#
myDocurnent. Load("C:\\rriyXml.xml");
Преобразования XSL
Язык XSL создан для преобразования XML-данных в другие форматы. Например,
XML-файл — в HTML-документ, пригодный для отображения на Web-странице,
либо в другой XML-формат, необходимый некоему приложению.
.NET Framework предоставляет класс XslTransform. выполняющий преобразова-
ния XSL. Чтобы выполнить преобразование, сначала следует загрузить в объект
XslTransform таблицу стилей — файл с правилами форматирования XML-данных.
Для загрузки таблицы стилей служит метод XslTransform.Load. Таблицу стилей мож-
но задать с помощью URL, указывающего на XSL-файл с определениями стилей,
либо как список произвольного числа классов, представляющих таблицу стилей,
загруженную в память. Следующий пример кода объявляет новый объект XslTransform
и загружает файл таблицы стилей myStyle.xsl:
Visual Basic .NET
Dim myTransform as New Xml.Xsl.XslTransforrtiO
myTransform.Load("C:\myStyle.xsl")
Visual C#
Xml.Xsl.XslTransform myTransforrn =: new Xml.Xsl.XslTransform();
myTransform. Load("C:\rnyStyle.xsl");
Загрузив таблицу стилей, выполните преобразование объекта Xml Data Document.
Метод XslTransform. Transform требует три параметра. Первый из них — объект, под-
лежащий преобразованию. Это может быть XmlDaiaDocument или любой другой
объект, в котором реализован интерфейс IXPath Navigable. Второй параметр — эк-
земпляр класса System.Xml.XsI.XsltArgumentList, он используется для хранения пара-
метров, необходимых таблице стилей; если таблица стилей не требует параметров,
можно передать в нем Nothing (null). Третьим параметром является целевой объект
для записи результатов преобразования. Это может быть экземпляр класса Stream,
Text Writer HJIVI Xml Writer. Следующий пример демонстрирует преобразование объек-
та Xml Data Document с именем myDocumeni и запись результата в текстовый файл.
В этом примере не используются дополнительные параметры, поэтому второй па-
раметр равен Nothing (null),
Visual Basic .NET
Результат преобразования будет передан классу StreamWriter,
который запишет его в текстовый файл.
Dim myWriter As New System.10.StreamWriter("myTextFile.txt")
myTransforni.Transform(myDocument, Nothing, myWriter)
Visual C#
// Результат преобразования будет передач классу StreanWriter.
// который запишет его в текстовый файл.
System.10.StreamWriter myWriter - new
System.10.StreamWriter("myTextFile.txt"):
myTransform.Transform(fnyDocufiient, null. myWriter):
> Исполнение преобразования XSL
1. Создайте экземпляр класса System.Xmi.Xsl.Xs!Transform.
2. Загрузите XSL-таблицу стилей с помощью метола Xsl'Transform.Load.
3. Вызовите метод XslTransform. Transform, чтобы осуществить преобразование объ-
екта XmlDataDocument, при этом нужно передать все параметры таблицы стилей
в объекте XsltArgumentList.

Теги: .NET

Статьи по теме:

Редакторы свойств программы установки
Работа с мастером Data Form
Свойства BackColor, ForeColor и Text
Стыковка и фиксация элементов управления
Вызов функций Windows API
Добавление элементов управления на панель Toolbox
Компонент ErrorProvider
Обработка ошибок при обновлении базы данных
Языки программирования .NET
Создание компонента DoughnutMachine
Класс DataViewManager
Стратегия оптимизации
Ввод кода с помощью CodeInsight
Делегаты CTS
Создание DataAdapter с помощью окна Server Explorer
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Применение класса XmlDataDocument. Регион сайта: Москва и Санкт-Петербург