» Главная
eXcode.ru » Статьи » .NET
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 17







Создание XML-документов




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

private void menuItemSave_Click(object sender, System.EventArgs e)
{
    SaveFileDialog saveDlg = new SaveFileDialog();
    saveDlg.FileName = "заказы";
    saveDlg.DefaultExt = "xml";
    saveDlg.Filter = "Файлы XML (*.xml)|*.xml";
    if (saveDlg.ShowDialog() != DialogResult.OK)
        return;

    XmlTextWriter writer = null;

    try
    {
         writer = new XmlTextWriter(saveDlg.FileName, System.Text.Encoding.Unicode);

         writer.WriteStartDocument();
         writer.WriteStartElement("Заказы");

         // сохраняем заказы
         foreach (Order order in orders)
         {
              writer.WriteStartElement("Заказ");
              writer.WriteAttributeString("Адрес", order.Address);
              writer.WriteAttributeString("Дата", order.Date.ToShortDateString());

              // сохраняем товар
              foreach (Good good in order.Goods)
              {
                   writer.WriteStartElement("Товар");
                   writer.WriteAttributeString("Название", good.Name);
                   writer.WriteAttributeString("Цена", good.Price.ToString());
                   writer.WriteEndElement();
              }

              writer.WriteEndElement();
         }

         writer.WriteEndElement();
         writer.WriteEndDocument();
    }
    catch (Exception ex)
    {
         MessageBox.Show("Ошибка: " + ex.Message);
    }
         finally
    {
         if (writer != null)
              writer.Close();
    }
}

    Создавая объект XmlTextWriter в его конструктор мы передали имя файла, в который будут сохраняться XML-данные и кодировку. Перегруженная версия конструктора принимает вместо имени файла объект Stream. Таким образом, в конструктор можно передать, например, объект MemoryStream, а потом сохранить XML-данные в БД. Вызов метода WriteStartDocument() записывает строку с объявлением версии XML и типом кодировки. В нашем случаем это будет
<?xml version="1.0" encoding="utf-16" ?> .

Пары функций WriteStartElement() и WriteEndElement() записывают начало и конец тега с указанным названием. В массиве orders хранятся объекты Order, инкапсулирующие заказы. В цикле мы перебираем все заказы и для каждого заказа вызываем метод WriteStartElement с параметром "Заказ". Для создания корректного XML-документа каждому вызову функции WriteStartElement() должен соответствовать вызов WriteEndElement(). Перегруженные версии функции WriteStartElement() позволяют указать для тега пространство имен и префикс. Для указания атрибута тега применяется функция WriteAttributeString(). С помощью перегруженных версий функции также можно указать префикс и пространство имен для атрибута. Функция WriteEndDocument() применяется для защиты от случайных ошибок создания XML-документа - она закрывает все открытые теги и атрибуты и переводит writer в начальное состояние. Сохраним следующие заказы.

В результате у нас получается документ такого вида

<?xml version="1.0" encoding="utf-16" ?>
<Заказы>
    <Заказ Адрес="Уфа" Дата="21.04.2004">
        <Товар Название="Товар_А" Цена="100" />
        <Товар Название="Товар_Б" Цена="150" />
        <Товар Название="Товар_В" Цена="370" />
     </Заказ>
    <Заказ Адрес="Москва" Дата="24.04.2004">
        <Товар Название="Товар_Г" Цена="400" />
    </Заказ>
    <Заказ Адрес="Омск" Дата="28.04.2004">
        <Товар Название="Товар_Д" Цена="255" />
    </Заказ>
</Заказы>

    Класс XmlTextWriter предоставляет большое количество методов для создания XML-документов. Например, функция WriteElementString() создает элемент, содержащий одно текстовое значение, такое как <Дата>01.05.04</Дата>. Функция WriteBinHex() массив байтов в шеснадцатиричном виде, а функция WriteComment() вставляет комментарий.

К началу статьи





Добавил: Дата публикации: 2007-10-11 11:53:12
Рейтинг статьи:3.00 [Голосов 10]Кол-во просмотров: 2991

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какой поисковик лучше?
Yandex
41% (63)
Rambler
10% (15)
Google
42% (65)
Yahoo!
1% (1)
MSN
0% (0)
Mail.ru
2% (3)
Aport
1% (1)
AltaVista
1% (2)
Другой
2% (3)

Проголосовало: 153
Как завести дома программиста. (Пособие по разведению и уходу).
Дорогие женщины! Вы наверняка сталкивались с такой проблемой - купили новую мебель, красивый палас, занавески, а в квартире все равно что-то не так. Это означает, что в интерьере не хватает завершающего штриха, а именно - мужа. Мы рекомендуем в этом случае завести дома программиста. Он достаточно неприхотлив, не будет вам мешать и не займет много места. В то же время программист является одной из самых модных и элитарных поpод мужей. Внимательно прочтите описание программиста и подумайте, возможно, это тот, о ком вы мечтали всю жизнь.
Экстерьер.
Программист может быть как маленького, так и большого роста. Он, как правило, имеет длинный волосяной покров с характерной проплешиной на затылке. У многих растут борода и усы (и то, и другое вам придется время от времени подравнивать, чтобы программист не терял товарного вида). Взгляд у программиста слегка блуждающий, а спина красиво изогнута вперед. Короче говоря, программист - вполне достойный внимания и зависти подруг экземпляр.
Первоначальные затраты.
Разведение программистов, к сожалению, связано с большими первоначальными затратами.
Вам понадобятся:
- Персональный компьютер с процессором не ниже Pentium II;
- стол и стул;
- пепельница;
- большое количество сарделек и пиво для прикармливания;
- кофейная чашечка вместимостью 0,5 л.
Места обитания.
Программист обитает в самых различных местах, но проще всего наткнуться на него на больших компьютерных выставках вроде <Комтека>. Если вы начнете охоту не в сезон, когда больших выставок не будет, пройдитесь по компьютерным магазинам. Вы увидите в них три-четыре особи, соответствующие вышеприведенному описанию. Особи будут листать компьютерные журналы либо вести друг с другом пространные беседы с обилием непонятных слов.
Образ жизни.
Программист ведет исключительно ночной образ жизни, поэтому ему необходима отдельная комната. Желательно провести туда и отдельную телефонную линию, иначе вы уже никогда не сможете беседовать со своими подругами. Зато программисту не требуется отдельное спальное место - он будет дремать на вашем диване в те часы, когда вы будете на работе.
Приманивание.
Для приманивания программиста необходима любая деталь, которую вы сможете открутить от заранее купленного компьютера. Hебрежно помахивая ею, приближайтесь к намеченной особи, бормоча какие-либо компьютерные термины. После этого попросите починить ваш якобы случайно сломавшийся компьютер. Программист пойдет за вами, как бы впав в состояние транса. Дома угостите его сардельками и пивом. Скорее всего, программист уже никуда не уйдет.
Способ демонстрации программиста.
Перед тем, как завести программиста, подумайте о том, как вы будете его демонстрировать знакомым. Hе устанавливаете монитор тылом к стене - это серьезная ошибка! Программист, как правило, не отворачивается от монитора, даже если очень громко кричать у него над ухом, и вы сможете показывать подругам только его спину. Поэтому лучше устроить рабочее место так, чтобы программиста можно было обозревать со всех сторон. Hе забудьте также заранее установить в комнате кондиционер, включающийся из коридора, - иначе программиста не будет видно из-за сигаретного дыма.
Дрессировка.
К сожалению, программист практически не поддается дрессировке. Hо небольшие действия вроде походов за хлебом или включения телевизора программист иногда выполняет, особенно, если подкреплять их с помощью условных рефлексов (давать пиво и сардельки). Если программиста удается оттащить от компьютера (кстати, в эти моменты он бывает опасен), можно взять его в магазин и приучить носить авоську. Hеобходимо также учесть, что отдельные простые команды, пригодные для других видов мужей, например "Закрой окно!", программистом понимаются неверно. Следуйте нашим простым рекомендациям - и ваш любимец всегда будет бодр, весел и не перестанет радовать вас и украшать квартиру своим присутствием!
Рейтинг: 6.1/10 (7)
Посмотреть все анекдоты

 
eXcode.ru » Статьи » .NET