IMobileApplicationPublishObjects.LoadFromXml

Синтаксис Fore

LoadFromXml(Element: IXmlDomElement);

Синтаксис Fore.NET

SaveToXml(Element: Prognoz.Platform.Interop.MsXml2.IXmlDomElement);

Параметры

Element. Элемент, из которого будут загружены параметры объектов мобильного приложения.

Описание

Метод LoadFromXml выполняет загрузку параметров объектов мобильного приложения из XML-файла.

Комментарии

Для выгрузки параметров публикатора в XML-файл используйте метод IMobileApplicationPublicator.SaveToXml.

Пример Fore

Пример является процедурой со следующими входными параметрами:

Добавьте ссылки на системные сборки: Metabase, Mobile, Xml.

Sub LoadParams(Publicator: IMobileApplicationPublicator; File: String; MbObj: IMetabaseObject);
Var
    MaPubObjs: IMobileApplicationPublishObjects;
    XmlDoc: IXmlDomDocument3;
    el: IXmlDomElement;
    MaPubObj: IMobileApplicationPublishObject;
    PublishObject: IMobilePublishObject;
    res: MobilePublishObjectResult;
    s: String;
Begin
    MaPubObjs := Publicator.Items;
    // Загружаем параметры объектов мобильного приложения
    XmlDoc := New DOMDocument60.Create;
    XmlDoc.load(File);
    el := XmlDoc.selectSingleNode("Root"As IXmlDomElement;
    MaPubObjs.LoadFromXml(el);
    // Проверяем, содержится ли указанный объект в мобильном приложении
    MaPubObj := MaPubObjs.ItemByKey(MbObj.Key);
    If MaPubObj <> Null Then
        If MaPubObj.IsValid Then // Объект содержится и доступен для публикации
            PublishObject := MaPubObj.PublishObject;
            // Задаем путь для сохранения объекта
            PublishObject.ExportPath := "C:\" + MbObj.Id + ".zip";
            // Указываем версию объекта
            PublishObject.Version := "1.0";
            // Публикуем объект
            res := PublishObject.Publish(Null);
            // Сохраняем параметры публикации
            XmlDoc := New DOMDocument60.Create;
            el := XmlDoc.createElement("Root");
            XmlDoc.appendChild(el);
            PublishObject.SaveToXml(el);
            XmlDoc.save("C:\PublishObject.xml");
            // Выводим результаты публикации в окно консоли
            s := MbObj.Name + " (" + MbObj.Id + ")";
            If res = MobilePublishObjectResult.OK Then
                Debug.WriteLine("Публикация объекта '" + s + "' выполнена");
            Else
                Debug.WriteLine("При публикации объекта '" + s + "' произошла ошибка");
            End If;
        End If;
        // Сохраняем параметры объекта мобильного приложения
        XmlDoc := New DOMDocument60.Create;
        el := XmlDoc.createElement("Root");
        XmlDoc.appendChild(el);
        MaPubObj.SaveToXml(el);
        XmlDoc.save("C:\" + MbObj.Id + ".xml");
    End If;
End Sub LoadParams;

Результат выполнения процедуры: параметры объектов мобильного приложения загружены из файла File. Если объект MbObj содержится в мобильном приложении и доступен для публикации, то он будет опубликован. Результаты публикации выведены в окно консоли. Параметры объекта мобильного приложения и параметры его публикации сохранены в формате XML.

Пример Fore.NET

Пример является процедурой со следующими входными параметрами:

Imports Prognoz.Platform.Interop.Mobile;
Imports Prognoz.Platform.Interop.MsXml2;

Public Shared Sub LoadParams(Publicator: IMobileApplicationPublicator; File: String; MbObj: IMetabaseObject);
Var
    MaPubObjs: IMobileApplicationPublishObjects;
    XmlDoc: IXmlDomDocument3;
    el: IXmlDomElement;
    MaPubObj: IMobileApplicationPublishObject;
    PublishObject: IMobilePublishObject;
    res: MobilePublishObjectResult;
    s: String;
Begin
    MaPubObjs := Publicator.Items;
    // Загружаем параметры объектов мобильного приложения
    XmlDoc := New DOMDocument60.Create();
    XmlDoc.load(File);
    el := XmlDoc.selectSingleNode("Root"As IXmlDomElement;
    MaPubObjs.LoadFromXml(el);
    // Проверяем, содержится ли указанный объект в мобильном приложении
    MaPubObj := MaPubObjs.ItemByKey[MbObj.Key];
    If MaPubObj <> Null Then
        If MaPubObj.IsValid Then // Объект содержится и доступен для публикации
            PublishObject := MaPubObj.PublishObject;
            // Задаем путь для сохранения объекта
            PublishObject.ExportPath := "C:\" + MbObj.Id + ".zip";
            // Указываем версию объекта
            PublishObject.Version := "1.0";
            // Публикуем объект
            res := PublishObject.Publish(Null);
            // Сохраняем параметры публикации
            XmlDoc := New DOMDocument60.Create();
            el := XmlDoc.createElement("Root");
            XmlDoc.appendChild(el);
            PublishObject.SaveToXml(el);
            XmlDoc.save("C:\PublishObject.xml");
            // Выводим результаты публикации в окно консоли
            s := MbObj.Name + " (" + MbObj.Id + ")";
            If res = MobilePublishObjectResult.mporOK Then
                System.Diagnostics.Debug.WriteLine("Публикация объекта '" + s + "' выполнена");
            Else
                System.Diagnostics.Debug.WriteLine("При публикации объекта '" + s + "' произошла ошибка");
            End If;
        End If;
        // Сохраняем параметры объекта мобильного приложения
        XmlDoc := New DOMDocument60.Create();
        el := XmlDoc.createElement("Root");
        XmlDoc.appendChild(el);
        MaPubObj.SaveToXml(el);
        XmlDoc.save("C:\" + MbObj.Id + ".xml");
    End If;
End Sub LoadParams;

Результат выполнения процедуры: параметры объектов мобильного приложения загружены из файла File. Если объект MbObj содержится в мобильном приложении и доступен для публикации, то он будет опубликован. Результаты публикации выведены в окно консоли. Параметры объекта мобильного приложения и параметры его публикации сохранены в формате XML.

См. также:

IMobileApplicationPublishObjects