File: String;
Свойство File определяет путь и наименование текстового файла, из которого будет производиться импорт данных.
Для выполнения примера предполагается наличие в репозитории задачи ETL с идентификатором "Etl" и в корневом каталоге диска С XML файла "Data.xml".
Допустим, файл имеет следующую структуру:
<Data>
<Row>
<I_FIELD>10</I_FIELD>
<D_FIELD>10.4</D_FIELD>
<S_FIELD>A</S_FIELD>
<DATE_FIELD>01.01.2006</DATE_FIELD>
<B_FIELD>0</B_FIELD>
</Row>
<Row>
<I_FIELD>20</I_FIELD>
<D_FIELD>24.4</D_FIELD>
<S_FIELD>B</S_FIELD>
<DATE_FIELD>01.02.2006</DATE_FIELD>
<B_FIELD>1</B_FIELD>
</Row>
....
</Data>
Sub Main;
Var
MB: IMetabase;
MObj: IMetabaseObject;
EtlTask: IEtlTask;
EtlProvider: IEtlPlainDataProvider;
XMLProvider: IDtXMLProvider;
WxProvider: IWxRectangle;
WxETLProvider: IWxETLObject;
Begin
MB := MetabaseClass.Active;
//Поиск задачи ETL. Объект репозитория с идентификатором "ETL"
MObj := MB.ItemById("Etl").Edit;
EtlTask := MObj As IEtlTask;
//Начало создания источника
//Создание объекта "Импорт из XML"
EtlProvider := EtlTask.Create(EtlObjectType.PlainDataXMLProvider) As IEtlPlainDataProvider;
EtlProvider := EtlProvider.Edit;
EtlProvider.Id := "XML_Provider";
EtlProvider.Name := "Импорт из XML";
EtlProvider.Description := "Импорт из XML";
//Настройка источника данных
XMLProvider := EtlProvider.Provider As IDtXMLProvider;
XMLProvider.File := "c:\Data.xml";
XMLProvider.FormatType := DtXmlFormatType.FieldsAsNodes;
XMLProvider.XPath := "Data/Row";
XMLProvider.FieldsFromFile;
EtlProvider.FillDefault;
//Сохраняем источник
EtlProvider.Save;
//Конец создания источника
//Начало создания визуального объекта
WxProvider := EtlTask.Workspace.CreateRectangle;
WxETLProvider := New WxETLObject.Create;
WxETLProvider.ETLObject := EtlProvider;
WxProvider.Style.TextPosition := WxTextPosition.Bottom;
WxProvider.Style.PictureMarginTop := -10;
WxProvider.PinPosition := New GxPointF.Create(50, 50);
WxProvider.Extension := WxETLProvider As IWxShapeExtension;
//Конец создания визуального объекта
//Сохранение задачи Etl
MObj.Save;
End Sub Main;
После выполнения примера в задаче ETL будет создан объект «Импорт из XML». Данный источник будет импортировать данные из XML файла "Data.xml". Значения полей будут браться из дочерних вершин вершины "Row".
См. также: