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

ЖАНРЫ

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

If (childOf_RootNode.Name = XML_USERINFO_TAG) Then

gotUserInfoData = True

'Пользовательские данные найдены

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

'Загрузить каждый из подэлементов

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

Dim child_UserDataNode As System.Xml.XmlElement

For Each child_UserDataNode In _

childOf_RootNode.ChildNodes

'Идентификатор пользователя (UserID)

If (child_UserDataNode.Name = XML_USERID_TAG) Then

userId = CInt(child_UserDataNode.InnerText)

'ФИО пользователя (UserName)

ElseIf (child_UserDataNode.Name = XML_NAMEINFO_TAG) Then

Dim child_Name As System.Xml.XmlElement

For Each child_Name In child_UserDataNode.ChildNodes

'Имя (FirstName)

If (child_Name.Name = XML_FIRSTNAME_TAG) Then

firstName = child_Name.InnerText

'Фамилия (LastName)

ElseIf (chi1d_Name.Name = XML_LASTNAME_TAG) Then

lastName = child_Name.InnerText

End If

Next 'Конец цикла разбора UserName

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

Next 'Конец цикла разбора UserInfo

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

Next 'Конец цикла разбора корневого узла

If (gotUserInfoData = False) Then

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

End If

End Sub

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

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

' [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)

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