на начало
На главную страницу
Форум   

Статья :: Создание документа XML из объекта DataSet (Набор данных)


Создание документа XML из объекта DataSet (Набор данных)

Используя объект DataSet (Набор данных) можно создать новый документ XML. Используя запрос XPath, можно перейти в начало документа, а затем, с помощью объекта XmlNodeReader прочитать весь документ. Мы выведем содержимое документа на экран. Класс XmlNodeReader обеспечивает перемещение по документу. Приведем фрагмент кода из примера DataSetXML:

XmlDataDocument *xmlDataDoc = new XmlDataDocument(d);
XmlNodeReader *xmlNodeReader = 0;
try
{
XmlNode *node = xmlDataDoc->SelectSingleNode("/");
XmlNodeReader = new XmlNodeReader (node);
FormatXml (XmlNodeReader); }
catch (Exception *e) // Исключение {
Console::WriteLine (
"Exception: {0}", e->ToString()); // Исключение
}
finally // наконец
r
if (XmlNodeReader != 0) // если (XmlNodeReader! = 0)
xmlNodeReader->Close(); }
static void FormatXml (XmlReader *reader) {
while (reader->Read()) // читатель-> Чтение () {
switch (reader->NodeType) // переключатель
//(читатель-> NodeType) {
case XmlNodeType::Element: // случай
// XmlNodeType::Элемент Format (reader, "Element"); // Формат (читатель, "Элемент"); while(reader->MoveToNextAttribute() ) Format (reader, "Attribute"); // Формат (читатель, "Атрибут"); break;
case XmlNodeType::Text: // случай XmlNodeType:: Текст Format (reader, "Text"); // Формат (читатель, "Текст"); break;
static String *lastNodeType = ""; // статическая Строка
static void Format(XmlReader *reader, String *nodeType) // Формат
{
if (nodeType->Equals("Element"))
// если (nodeType-> Равняется ("Элемент"))
{
if (lastNodeType->Equals("Element"))
// если (lastNodeType-> Равняется ("Элемент"))
{
Console::WriteLine();
}
for (int i=0; i < reader->Depth; i++)
{
Console::Write(" "); // Запись
}
Console::Write(reader->Name) ;
// Запись:: (читатель-> Название); }
else if (nodeType->Equals("Text")) // если (nodeType-> Равняется ("Текст")) Console::WriteLine("={0}", reader->Value); // Значение else
{
Console::Write(String::Format( // Запись:: (Строка:: Формат ( "{0}<{1}>{2}", nodeType, reader->Name, // Название reader->Value)); // читатель-> Значение Console::WriteLine (); }
lastNodeType = nodeType; }

Вот какой документ XML будет записан объектом DataSet (Набор данных) в файл:

AirlineBroker
Airlines <!— Авиалинии -->
Name=America West
Abbreviation=AW
WebSite=www.americawest.com
ReservationNumber=555-555-1212
Airlines <!-- Авиалинии —>
Name=Delta
Abbreviation=DL
WebSite=www.delta.com
ReservationNumber=800-456-7890
Airlines <!-- Авиалинии -->
Name=Northwest
Abbreviation=NW
WebSite=www.northwest.com
ReservationNumber=888-111-2222
Airlines <!— Авиалинии —>
Name=Piedmont
Abbreviation=P
WebSite=www.piedmont.com
ReservationNumber=888-222-333
Airlines <!-- Авиалинии -->
Name=Southwest
Abbreviation's
WebSite=www.southwest.com
ReservationNumber=l-800-111-222
Airlines <!-- Авиалк-^'и -->
Name=Unitea
Abbreviation=UAL
WebSite=www.ual.com
ReservationNumber=800-123-4568
Flights <'-- Рейсъ. -->
Airline=DL
FlightNumber=987
StartCity=Atlanta
EndCity=New Orleans
Departure=2001-10-05T2G:15:СС.ООСГПСО-04:00
Arnval=2001-10-05T22:30:ОС.ОЭООССО-04:СО
PlaneType=737
FirstCost=1300
BusinessCost=0
EconomyCost=450
Flights <!-- Рейсы -->
Airline=UAL
FlightNumber=54
StartCity=Boston
EndCity=Los Angeles
Departure=2001-10-01T10:00:OO.OOCOOOO-r4:00
Arriva1=2001-10-01T13:00:00.0000000-04:00
PlaneType=767
FirstCost=1500
BusinessCost=1000
EconomyCost=300
PlaneType
PlaneType=737
FirstClass=10
BusinessCldss=0
EconomyСlass=200
PlaneType
PlaneType=767
FirstClass=10
BusinessClass=30
EconomyCiass=300
Customers !'-- 1лкеггы -->
LastName=Adams
FirstName=John
EmailAddress=adans@presidents.erg
Customerld


Создание документа XML из объекта DataSet (Набор данных)

страницы в данном разделе 
Глава 9. Программирование в ADO.NET Программирование в ADO.NET
Источники данных Проводник Visual Studio.NET по серверу: Server Explorer
Установление соединения Устройства считывания данных
Работа с базой данных в соединенном режиме Выполнение операторов SQL
DataReader Множественное результирующее множество
Коллекция параметров Классы SqlDataAdapter и DataSet (Набор данных)
Отсоединенный режим Коллекции объектов DataSet (Набор данных)
Основные сведения о наборах данных Обновление источника данных
Автоматически генерируемые свойства команд Транзакции и обновление базы данных
Объект DataSet (Набор данных) и сравнение пессимистического блокирования с оптимистическим Использование наборов данных
Множественные таблицы в объекте DataSet (Набор данных) Создание таблицы без обращения к источнику данных
Ограничения и связи Получение информации о схеме размещения данных в объекте DataTabie (Таблица данных)
Изменение объекта DataRow Пример приложения Acme Travel Agency (Туристическое агентство Acme)
Доступ к данным XML Схема и данные XML
XmlDataDocument DataSet (Набор данных) и XML
База данных AirlineBrokers DataSet (Набор данных) и XML
Создание документа XML из объекта DataSet (Набор данных) Резюме


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста