* При перепечатке материалов ссылка на 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

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

Генерация исключений
Назначение значка элементу управления
Стратегия оптимизации
CBitmapEx – C++-класс для работы с BMP
Замыкания (closure)
Создание класса строго типизированного набора на основе класса CollectionBase
Проверка на уровне формы
Общие (статические) члены
Cabinet File (*.CAB) Compression and Extraction – версия 9.9
Настройка установочной программы
Защищенные члены
Принципы дизайна интерфейса
Применение отладочных инструментов
Применение событий формы
Формы, элементы управления и меню
| .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. Регион сайта: Москва и Санкт-Петербург