Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

System.Xml.XmlElement subNodeForUserID;

subNodeForUserID = xmlDocument.CreateElement(XML_USERID_TAG);

subNodeForUserID.InnerText = System.Convert.ToString(userId);

//Присоединить подузел UserID к узлу высшего уровня

topNodeForUserData.AppendChild(subNodeForUserID);

//---------------------------------------------

//Добавить все значения NameInfo в наш документ

//---------------------------------------------

//Создать подузел для информации о пространстве имен

System.Xml.XmlElement subNodeForNameInfo;

subNodeForNameInfo = xmlDocument.CreateElement(XML_NAMEINFO_TAG);

//Имя (FirstName)

System.Xml.XmlElement subNodeFirstName;

subNodeFirstName = xmlDocument.CreateElement(XML_FIRSTNAME_TAG);

subNodeFirstName.InnerText = firstName;

//Фамилия (LastName)

System.Xml.XmlElement subNodeLastName;

subNodeLastName = xmlDocument.CreateElement(XML_LASTNAME_TAG);

subNodeLastName.InnerText = lastName;

//Присоединить подузлы имени и фамилии к родительскому

//узлу NameInfo

subNodeForNameInfo.AppendChild(subNodeFirstName);

subNodeForNameInfo.AppendChild(subNodeLastName);

//Присоединить подузел NameInfo (вместе с его дочерними узлами)

//к узлу высшего уровня

topNodeForUserData.AppendChild(subNodeForNameInfo);

//------------------

//Сохранить документ

//------------------

try {

xmlDocument.Save(fileName);

}

catch (System.Exception ex) {

System.Windows.Forms.MessageBox.Show("Ошибка при сохранении XML-документа - " + ex.Message);

}

} //Конец функции

} //Конец класса

Листинг 10.2. Вызов кода, предназначенного для сохранения и загрузки XML-документа

private void button1_Click{object sender, System.EventArgs e) {

const string FILENAME = "TestFileName.XML";

//Сохранить, используя XML DOM

SaveAndLoadXML UseDOM.XML_SaveUserInfo(FILENAME, 14, "Ivo", "Salmre");

//Сохранить, используя объект однонаправленной записи XMLWriter

//SaveAndLoadXML_UseReaderWriter.XML SaveUserInfo(FILENAME,

// 18, "Ivo", "Salmre");

int userID;

string firstName;

string lastName;

//Загрузить, используя XML DOM

SaveAndLoadXML_UseDOM.XML_LoadUserInfo(FILENAME, out userID, out firstName, out lastName);

//Загрузить, используя объект однонаправленного чтения XMLReader

//SaveAndLoadXML_UseReaderWriter.XMILoadUserInfo(FILENAME,

// out userID, out firstName, out lastName);

System.Windows.Forms.MessageBox.Show('Готово!" + userID.ToString + ", " + lastName + ", " + firstName);

}

Модель однонаправленного чтения-записи XML-данных

В отличие от подхода XML DOM, обеспечивающего произвольный доступ к XML-данным и интенсивно использующего информацию о состоянии, объекты XMLReader и XMLWriter обеспечивают лишь возможности однонаправленного доступа. Они поддерживают минимальный объем информации о состоянии, которого достаточно для чтения и записи XML-данных, и не пытаются создавать в памяти дерево XML-данных или работать с ним. В этом случае говорят о моделях однонаправленного доступа, поскольку они поддерживают программный курсор, указывающий на текущую позицию в XML-файле, и позволяют работать только с находящимися в этом месте данными; курсор может перемещаться только в прямом направлении, но не в обратном. Объект XMLReader предлагает много возможностей, но в приложениях используется в основном для прохождения узлов XML-документа. При чтении XML-документа XMLReader каждый раз считывает только один узел и связанные с ним атрибуты; это напоминает чтение обычного файла по одной строке за один раз. Когда разработчик заканчивает просмотр узла и его атрибутов, он отдает объекту XMLReader команду перейти к следующему элементу, в результате чего XMLReader сбрасывает содержащуюся в нем информацию, которая относится к содержимому текущего узла. Однонаправленность доступа является необходимой платой за достижение наилучшей производительности и снижение накладных расходов.

  • Читать дальше
  • 1
  • ...
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: