Чтение онлайн

ЖАНРЫ

Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:

}

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

else if (child_Name.Name == XML_LASTNAME_TAG) {

lastName = child_Name.InnerText;

}

}//Конец цикла разбора UserName

}//Конец оператора if, осуществляющего проверку UserName

}//Конец цикла разбора UserInfo

}// Конец оператора if, осуществляющего проверку UserInfo

}//Конец цикла разбора корневого узла

if (gotUserInfoData == false) {

throw new Exception ("Данные пользователя в XML-документе не найдены!");

}

}

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

//Сохраняет пользовательское состояние

//

// [in] fileName: Имя файла, используемого для сохранения данных

// [in] userId:Идентификатор пользователя, которыймы хотим сохранить

// [in] firstName: Имя пользователя, которое мы хотим сохранить

// [in] lastName: Фамилия пользователя, которую мы хотим сохранить

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

public static void XML_SaveUserInfo(string fileName, int userId, string firstName, string lastName) {

System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument;

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

//Добавить элемент документа высшего уровня

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

System.Xml.XmlElement rootNodeForDocument;

rootNodeForDocument = xmlDocument.CreateElement(XML_ROOT_TAG);

xmlDocument.AppendChild(rootNodeForDocument);

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

//Добавить данные в элемент UserInfo

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

System.Xml.XmlElement topNodeForUserData;

topNodeForUserData = xmlDocument.CreateElement(XML_USERINFO_TAG);

rootNodeForDocument.AppendChild(topNodeForUserData);

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

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

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

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

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

Поделиться с друзьями: