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

ЖАНРЫ

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

Салмре Иво

Шрифт:

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

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

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

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

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

'--------------------------------------------------------------------

Public Shared Sub XML_SaveUserInfo(ByVal fileName As String, _

 ByVal userId As Integer, ByVal firstName As String, _

 ByVal lastName As String)

 Dim xmlDocument As System.Xml.XmlDocument = _

New System.Xml.XmlDocument

 '-----------------------------------------

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

 '-----------------------------------------

 Dim rootNodeForDocument As System.Xml.XmlElement

 rootNodeForDocument = xmlDocument.CreateElement( _

XML_ROO T_TAG)

 xmlDocument.AppendChild(rootNodeForDocument)

 '----------------------------------

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

 '----------------------------------

 Dim topNodeForUserData As System.Xml.XmlElement

 topNodeForUserData = xmlDocument.CreateElement( _

XML_USERINFO_TAG)

 rootNodeForDocument.AppendChild(topNodeForUserData)

 '---------------------------------------

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

 '---------------------------------------

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

 Dim subNodeForUserID As System.Xml.XmlElement

 subNodeForUserID = _

xmlDocument.CreateElement(XML_USERID_TAG)

 subNodeForUserID.InnerText = _

System.Convert.ToString(userId)

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

 topNodeForUserData.AppendChild(subNodeForUserID)

 '---------------------------------------------

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

 '---------------------------------------------

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

 Dim subNodeForNameInfo As System.Xml.XmlElement

 subNodeForNameInfo = xmlDocument.CreateElement( _

XML_NAMEINFO_TAG)

 'Имя (FirstName)

 Dim subNodeFirstName As System.Xml.XmlElement

 subNodeFirstName = xmlDocument.CreateElement( _

XML_FIRSTNAME TAG)

 subNodeFirstName.InnerText = firstName

 'Фамилия (LastName)

 Dim subNodeLastName As System.Xml.XmlElement

 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 ex As System.Exception

MsgBox( _

"Ошибка при сохранении XML-документа - " + ex.Message)

 End Try

End Sub 'Конец функции

End Class 'Конец класса

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

Private Sub Button1_Click(ByVal sender As System.Object, _

 ByVal e As System.EventArgs) Handles Button1.Click

 Const FILENAME As String = "TestFileName.XML"

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

 SaveAndLoadXML_UseDOM.XML_SaveUserInfo(FILENAME, 14, "Ivo", _

"Salmre")

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

 'SaveAndLoadXML_UseReaderWriter.XML_SaveUserInfo(FILENAME, _

 ' 18, "Ivo", "Salmre")

 Dim userID As Integer

 Dim firstName As String

 Dim lastName As String

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

 SaveAndLoadXML_UseDOM.XML_LoadUserInfo(FILENAME, userID, _

firstName, lastName)

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

 'SaveAndLoadXML_UseReaderWriter.XML_LoadUserInfo(FILENAME, _

 ' userID, firstName, lastName)

 MsgBox("Готово! " + _

userID.ToString + ", " + lastName + ", " + firstName)

End Sub

Листинг 10.3. Использование однонаправленного чтения/записи XML-данных для загрузки XML-документа из файла и его сохранения
Поделиться с друзьями: