powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / i_rc = dw.ImportFile(XML!, c:\xyz.xml) Можно ли, и если да, то как ?
5 сообщений из 5, страница 1 из 1
i_rc = dw.ImportFile(XML!, c:\xyz.xml) Можно ли, и если да, то как ?
    #39264336
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго всем времени суток.

Имеетса файл (прилагаетса), его нужно затянуть в datawindow.

Не получаетса построить datawindow чтобы использовать dw.ImportFile(XML!, c:\xyz.xml)

Буду благодарен за помощь.

Спасибо
...
Рейтинг: 0 / 0
i_rc = dw.ImportFile(XML!, c:\xyz.xml) Можно ли, и если да, то как ?
    #39264904
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте убрать поле из описания xml
Processed
...
Рейтинг: 0 / 0
i_rc = dw.ImportFile(XML!, c:\xyz.xml) Можно ли, и если да, то как ?
    #39269079
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо комрад, но файл нельзя трогать.

Вообщем затащил через скрипт, так что "война окончена, всем спасибо" (c).

медленно, но может кому и пригодитса

i_rc = GetFileOpenName('Select File', s_dir, s_file, 'XML','XML Files, *.xml')

IF i_rc <> 1 THEN
Close(This)
RETURN
END IF

SetPointer(hourglass!)
SetMicrohelp('Loading XML File')

ole_xml_doc = CREATE OLEobject

i_rc = ole_xml_doc.ConnectToNewObject('Microsoft.XMLDOM')

IF i_rc <> 0 THEN
DESTROY ole_xml_doc
messagebox(this.title, 'System error. ConnectToNewObject()=' + string(i_rc), exclamation!)
close(this)
RETURN
END IF

ole_xml_doc.async = FALSE
ole_xml_doc.load (s_dir)

i_rc = ole_xml_doc.parseError.errorCode

if isnull(i_rc) then
i_rc = -99
end if

IF i_rc = 0 THEN
ole_xml_rowset = ole_xml_doc.GetElementsByTagName ('ROW')

i_rc = ole_xml_rowset.Length

IF i_rc > 0 THEN
l_node_knt = i_rc - 1

setnull(s_error)

FOR l_row = 0 TO l_node_knt
ole_xml_row = ole_xml_rowset.NextNode()

if NOT IsNull(ole_xml_row) then
s_sort_code = trim(ole_xml_row.getattribute("SortCode"))

if isnull(s_sort_code) or s_sort_code = '' then
s_error = 'System error. SortCode = null'
exit
else
s_file_code = ole_xml_row.getattribute("FileCode")

if isnull(s_file_code) or s_file_code = '' then
s_error = 'System error. FileCode = null'
exit
else
l_row = dw_1.fu_insert(0)

dw_1.setitem(l_row, 'sortcode', s_sort_code)
end if
end if
else
s_error = 'System error. ole_xml_row = null'
exit
end if
NEXT
else
DESTROY ole_xml_doc
messagebox(this.title, 'System error. ole_xml_rowset.Length=' + string(i_rc), exclamation!)
this.triggerevent('ue_cancel')
return
end if
else
DESTROY ole_xml_doc
messagebox(this.title, 'System error. ole_xml_doc.parseError.errorCode=' + string(i_rc), exclamation!)
this.triggerevent('ue_cancel')
return
end IF

DESTROY ole_xml_doc
...
Рейтинг: 0 / 0
i_rc = dw.ImportFile(XML!, c:\xyz.xml) Можно ли, и если да, то как ?
    #39309370
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А отправить строку XML на сервер БД и там распарсить?
DECLARE @XIn xml='<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0"> ......'
SELECT value('@SortCode', 'string(20)') AS SortCode,
value('@FileCode', 'string(3)') AS FileCode
FROM @XIn.value('/DATAPACKET/ROWDATA/ROW')
...
Рейтинг: 0 / 0
i_rc = dw.ImportFile(XML!, c:\xyz.xml) Можно ли, и если да, то как ?
    #39309463
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronk... datawindow чтобы использовать dw.ImportFile(XML!, c:\xyz.xml)...
А Вы создавали Template для данной структуры XML файла ?
Создание Template у DW ( редактирование DW -> View -> Export/Import Template ), а уже потом
...
dw.Object.DataWindow.Import.XML.UseTemplate = ... // Имя созданного Template
...
rc = dw.importfile( XML!, s_file_xml )
...

Если будут ошибки импорта, то их можно увидеть в файле указанном в dw.Object.DataWindow.Import.XML.TraceFile

Импорт из XML файлов работает неплохо. Документы ЦБ в формате УФЭБС нормально импортируются. Быстро и удобно.

Good Luck !
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / i_rc = dw.ImportFile(XML!, c:\xyz.xml) Можно ли, и если да, то как ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]