Программирование в IIS


Структурирование данных в XML


Функция GetChairState создает документ XML, описывающий экземпляр класса clsChair. XML является простым одноэлементным документом. Элемент Chair содержит два атрибута: ID и Color. Для использования объекта XML добавьте в проект ссылку на библиотеку MSXML (см. рис. 1.7). В нашем проекте выбрана библиотека Microsoft XML v3.0, но существуют и другие версии этой библиотеки. На момент публикации книги уже вышла четвертая версия. В подпрограмме применяется конкатенация строк для построения XML и возврата строки из класса. Однако такой подход опасен, поскольку в большинстве XML-анализаторов сразу возникнет ошибка при некорректности любой части XML. Создание XML с использованием анализатора позволит правильно построить XML. В листинге 1.12 приведен исходный код функции GetChairState.

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ' ChairID - read only '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Public Property Get ChairID() As String ChairID = Trim(m_sID) End Property

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 'GetChairState 'serializes object state into XML DOM 'to look like this <Chair ID="" Color="" /> ' 'in: nothing 'out: returns DOMDocument30 object filled '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Public Function GetChairState() As DOMDocument30 On Error GoTo Sub_Error_Handler Const ERROR_MESSAGE_INFO = "GetChairState"

Const CHAIR_ELEMENT = "Chair" Const CHAIR_ID_ATTRIBUTE = "ID" Const CHAIR_COLOR_ATTRIBUTE = "Color"

Dim xmlChair As MSXML2.DOMDocument30 '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 'note : Constructing the XML using 'string concatenation and using the 'XML object to validate is another 'strategy often times used. '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'refresh the object OpenChair Me.ChairID

'build XML document Set xmlChair = New DOMDocument30

'create the element for Chair Set xmlChair.documentElement = _ xmlChair.createElement(CHAIR_ELEMENT)

'add the Chair attributes xmlChair.documentElement.setAttribute _ (CHAIR_ID_ATTRIBUTE), ChairID xmlChair.documentElement.setAttribute (CHAIR_COLOR_ATTRIBUTE), color




Начало  Назад  Вперед



Книжный магазин