Страница 1 из 1

использование SmartXml-library

СообщениеДобавлено: 19 окт 2009 12:48
ayrat
Пытаюсь разобраться как пользоваться этой библиотекой. подскажите кто-нить пару примеров примеров по загрузке/выгрузке объектов в xml

Re: использование SmartXml-library

СообщениеДобавлено: 12 ноя 2009 20:57
Романо
Код: Выделить всё
Option Explicit

'Текущая сессия
Dim SmSession As SmApplic.SmSession

Dim Record1 As Object, Record2 As Object, Record3  As Object

'Имя файла для экспорта
Dim xmlFile As String

'Объекты для работы с XML
Dim Xml As SmartXml.SmXmlService
Dim XmlOutput As ISmXmlOutput


'Выполнение функции при нажатии кнопки "Экспорт"
Function Begin_Export(ByVal ApplHndl&, ByVal Operation$, ByVal FirstPar&, ByVal SecondPar&, ByVal ThirdPar&) As Integer

      CONV_RecListToComRecordList FirstPar, Record1
      CONV_RecListToComRecordList SecondPar, Record2
      CONV_RecListToComRecordList ThirdPar, Record3

   'Получаем сессию
   Set SmSession = SCREXT_ObjectForInterface(ApplHndl)

   'Имя файла (по умолчанию)
   xmlFile = "Export.xml"

      Dim MainObject As ISmObject

      'Получаем текущий объект
      Set MainObject = SmSession.ObjectStore.RetrieveObject(Record2.Value("CLASS_ID", 0), Record2.Value("OBJECT_ID", 0))

      'Получаем сервис для работы с XML через SmarTeam API
      Set Xml = SmSession.GetService("SmartXml.SmXmlService")

      'Создаём файл для вывода информации
      Set XmlOutput = Xml.CreateFileOutput( xmlFile )

      'http://msdn.microsoft.com/en-us/library/ms759142(VS.85).aspx
      XmlOutput.UseInlineTypes = false

      'Открываем пакет (примечание: в одной выгрузке может быть несколько пакетов, для нас это несколько классов со своими объектами)
      XmlOutput.BeginPackage "SmExport", MainObject.SmClass.ExternalName

       XmlOutput.WriteObject "MainObject", MainObject, MainObject.Data.ValueAsString("OBJECT_ID")

      XmlOutput.EndPackage

      'Закрываем файл
      XmlOutput.Close


End Function