powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
29 сообщений из 29, показаны все 2 страниц
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34307897
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Горю ... и башка не варит.

Спасибо.

а точнее,

long l_row
oleobject oXMLHttp
string s_request_post, s_post_str

s_request_post = a_s_url + '/QueryDb'
s_post_str = 'iDatabaseId=3762' + &
'&iDatabaseViewId=12902' + &
'&iPageNum=1' + &
'&iRecsPerPage=100' + &
'&strPromptValues=' + &
'&strAuthCode=' + ar_s_auth_code + &
'&strSessionId=' + ar_s_session_id

oXMLHttp = CREATE oleobject
i_rc = oXMLHttp.ConnectToNewObject('MSXML2.XMLHTTP') //'Microsoft.XMLHTTP
IF i_rc < 0 or IsNull(i_rc) THEN
DESTROY oXMLHttp
RETURN -1
END IF

oXMLHttp.Open ('POST', s_request_post, FALSE)

oXMLHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')

oXMLHttp.Send(s_post_str)

s_post_str = oXMLHttp.ResponseText

oXMLHttp.DisconnectObject()
DESTROY oXMLHttp

s_post_str возврашает длинную стринг которую я сохранил как приложенный файл.

Зараннее благодарен за любую помощь.
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34308338
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня сложилось впечатление, что людей, пишущих на PB и хорошо освоивших XML, к сожалению слишком мало.
Я пытался решить похожую проблему "красиво", но ... тоже "горел" и из-за аврала решил проблему в "лоб" - используя OLE "MSXML2.DOMDocument.4.0" получал массив структур, где элементами структуры были :
- имя тега,
- его значение,
- его тип,
- полное имя тега ( через точку перечислялись все теги, куда входил данный тег ).
Ну а дальше было понятно ...
Учитывая, что в XML файле были документы разных видов , соответственно разные данные закачивались в разные DW.
Если интересно - скрипт могу выложить или прислать на EMail.
Кстати - у тебя в XML файле, перед документом содержится его XML Schema.
Обычно XML Schema содержится в отдельном файле ".xsd", а в XML файле на него только ссылаются :
< ... xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="*.xsd" ... >
Но ... в конце концов - это не мое "собачье дело".

Good Luck !
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34310537
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Спасибо
2. Парсер я написал как-то, вот - попытался подстроить но чего-то не работает:

ole_xml_doc = CREATE OLEobject

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

IF i_rc <> 0 THEN
MessageBox('f_co_querydb', "ConnectToNewObject('Microsoft.XMLDOM')=" + string(i_rc), Exclamation!)
DESTROY ole_xml_doc
RETURN -1
END IF

ole_xml_doc.async = FALSE
ole_xml_doc.load ('c:\querydb.xml')

l_row = Long(ole_xml_doc.parseError.errorCode)

IF l_row <> 0 THEN
MessageBox('f_co_querydb', 'Parse Error: ' + string(l_row) + '~n' + &
'Error reason: ' + string(ole_xml_doc.parseError.reason) + '~n' + &
'Error line: ' + string(ole_xml_doc.parseError.line))
DESTROY ole_xml_doc
RETURN -1
END IF

ole_xml_rowset = ole_xml_doc.GetElementsByTagName ('ListValue')

l_row = long(ole_xml_rowset.Length)

IF ole_xml_rowset.Length < 1 THEN
ole_xml_doc.DisconnectObject()
DESTROY ole_xml_doc
MessageBox('f_co_querydb', 'ole_xml_rowset.Length=' + string(l_row), Exclamation!)
RETURN -1
END IF

l_node_knt = ole_xml_rowset.Length - 1 // Возврашает правильное кол-во рэкордов, 8.

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

ole_xml_column = ole_xml_row.SelectSingleNode('ListValue') // а вот тут ... холера возврашает null, я шо, не так его зову????

IF NOT IsNull(ole_xml_column) THEN
s_list_value = s_list_value + '~n' + Trim(ole_xml_column.Text)
END IF
NEXT

ole_xml_doc.DisconnectObject()
DESTROY ole_xml_doc
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34311290
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то любую работу с OLEobject я всегда вначале пишу и тестирую на VB ( самое простое - в макросах Word-а), и только потом переношу скрипт на PB. Экономит кучу времени.
Вместо 'Microsoft.XMLDOM' я использую "MSXML2.DOMDocument.4.0" ( "MSXML2" - скачал с www.microsoft.com ).
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
$PBExportHeader$str_xml_value.srs
global type str_xml_value from structure
	string		s_name
	string		s_value
	string		s_type
	string		s_name_all
end type

public function unsignedlong uf_read_ole (ref oleobject ole_data, ref str_xml_value s_par[], string s_name_all);
long  Result, i, im, i_max,  j, n, nm, i_par 
str_xml_value  s_v, s_param[], s_next[], s_pusto
OleObject  ole_pusto, att,  ole_next
  
	if ole_data = ole_pusto then return  0 
	s_v = uf_get_str( ole_data, s_name_all )   
	att = ole_data.attributes 
	if  att <> ole_pusto then
		i_max = ole_data.attributes.length
		if i_max >  0  then
			For i =  1  to i_max
				j = i -  1 
				att = ole_data.attributes.item(j)
				s_v = s_pusto
				s_v = uf_get_str( att, s_name_all )
				if  s_v <> s_pusto then 
					i_par++
					s_param[ i_par ] = s_v; 
				end if
			Next
		end if
	end if
	i_max = ole_data.childNodes.length
	if i_max >  0  then
		For i =  1  to i_max
			j = i -  1 
			ole_next = ole_data.childNodes.item[ j ]
			nm = uf_read_ole( ole_next, s_next, s_name_all )
			For n =  1  to nm
				s_v = s_pusto;  
				s_v = s_next[ n ]
				if  s_v <> s_pusto then 
					i_par++
					s_param[ i_par ] = s_v
				end if 				
			Next
		Next
	end if
	s_par = s_param
Return i_par
end function

public function str_xml_value uf_get_str (ref oleobject ole_data, string s_name_all);
str_xml_value Result 
str_xml_value  s_v
OleObject  ole_pusto

	if ole_data = ole_pusto then Return Result  
	s_v.s_name 	= String(ole_data.nodeName)
	s_v.s_name_all 	= s_name_all + '.' + s_v.s_name
	s_v.s_value 	= String(ole_data.nodeValue)
	s_v.s_type 	= String(ole_data.nodeType)
	Result = s_v
Return Result	

end function
После работы с большим количеством XML файлов ( или большими файлами ) рекомендую чистить
память : GarbageCollect ()

Good Luck !
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34311643
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обращаю внимание, что функция " uf_read_ole " - реентерабельная, т.е. вызывает сама себя,
что позволяет читать данные тегов с произвольным уровнем вложений.

Good Luck !
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34312773
KOLCHOZ_POSTEVENT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте поднять xml файл екселем,а потом сделать ему save as в тип файла text tab delimited,а уж это поддаётся функции DW.importfile
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34313578
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Война окончена всем спасибо.
Вопрос был решён:
вместо
FOR l_row = 0 TO l_node_knt
ole_xml_row = ole_xml_rowset.NextNode()

ole_xml_column = ole_xml_row.SelectSingleNode('ListValue') // а вот тут ... холера возврашает null, я шо, не так его зову????

IF NOT IsNull(ole_xml_column) THEN
s_list_value = s_list_value + '~n' + Trim(ole_xml_column.Text)
END IF
NEXT

прекрасно работает

ole_xml_rowset = ole_xml_doc.GetElementsByTagName ('ListValue')

l_row = long(ole_xml_rowset.Length)

IF ole_xml_rowset.Length < 1 THEN
ole_xml_doc.DisconnectObject()
DESTROY ole_xml_doc
MessageBox('f_co_querydb', 'ole_xml_rowset.Length=' + string(l_row), Exclamation!)
RETURN -1
END IF

l_node_knt = ole_xml_rowset.Length - 1

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

IF NOT IsNull(s_list_value) THEN
... пиди-дим, пиди-дам, пиди-бум ...
END IF
NEXT

Особенно спасибо ChV, взято на карандаш и сохранено в закромах, и KOLCHOZ_POSTEVENT, прямо щас попробую.

Ещё раз всем спасибо ребята.
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34313943
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChVОбращаю внимание, что функция " uf_read_ole " - реентерабельная, т.е. вызывает сама себя,
что позволяет читать данные тегов с произвольным уровнем вложений.

Good Luck !
Может рекурсивная? А то что людей пугать такими словами?
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34313949
sboyko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А скажите мне пожалуйста - а разве все прибабахи ПБ для XML не работают? Сам этим никогда не занимался, но ведь вроде есть какой то extension?
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34314695
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sboyko ChVОбращаю внимание, что функция " uf_read_ole " - реентерабельная, т.е. вызывает сама себя,
что позволяет читать данные тегов с произвольным уровнем вложений.

Может рекурсивная? А то что людей пугать такими словами?
Sorry, это я по привычке. Раньше эти функции называли реентерабельными ( времена PL/1 ), сейчас рекурсивными.
Более того, сейчас посмотрел по "Википедии" - значение "реентерабельности" действительно изменилось.
Спасибо !

Good Luck !
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34314710
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sboykoА скажите мне пожалуйста - а разве все прибабахи ПБ для XML не работают? Сам этим никогда не занимался, но ведь вроде есть какой то extension?
"Прибамбахи" работают. Но тут как в магазине - пока ничего не надо - "всего до полна",
а когда нужно что-либо конкретное - так обыщешься.

Good Luck !
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34314754
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле работа с XML - на стадии освоения. Одно и тоже, очевидно, можно делать разными способами. Возможно есть и более красивые решения.
В моем случае - я был обязан использовать "MSXML2".

Good Luck !
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34316893
AStadnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прибабахи работают. Приложил пример с импортом.
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34316901
AStadnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
приложение
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34320600
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AStadnikприложение

Комрад, спасибо.
Тока вот ... Внимание ... задаю глупый вопрос:
- Шо это такое такое за проперти dw_1.Object.DataWindow. Import.XML.UseTemplate = 't_imp' ???
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34320601
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ешё, можно ли на базе готового .xml файла, динамически построить datawindow ???

что-то типа SyntaxFromSQL - тока SyntaxFromXML или что-то в этом роде?
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34320770
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
voronk AStadnikприложение

Комрад, спасибо.
Тока вот ... Внимание ... задаю глупый вопрос:
- Шо это такое такое за проперти dw_1.Object.DataWindow. Import.XML.UseTemplate = 't_imp' ???
Description

Setting that optionally controls the logical structure of the XML imported from an XML file to a DataWindow object using the ImportFile method.

Controls

DataWindow objects

Syntax

PowerBuilder dot notation:

dw_control.Object.DataWindow.Import.XML.UseTemplate

Describe and Modify argument:

"DataWindow.Import.XML.UseTemplate { = ' value ' }"

Parameter Description
value (exp) A string specifying the name of an import template previously saved in the DataWindow painter for the specified DataWindow object
Usage

This property should be set to specify the logical structure of the XML imported before you call the ImportFile method to import data from an XML document. An import template is not required if the XML document from which data is imported corresponds to the DataWindow column definition.
If an export template for a DataWindow object exists, it can be used as an import template. Only the mapping of column names to element attribute names is used for import. The order of elements within the template is not significant, because import values are located by name match and nesting depth within the XML document. All other information in the template, such as controls and comments, is ignored.

In the painter On the Data Import page in the Properties view for the DataWindow object, select XML from the Format to Configure list and select a template from the Use Template list.
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34320801
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не так спросил.
Имел ввиду как и откуда .UseTemplate = 't_imp' там взялось?

вот само datawindow, выглядит как обыкновенный grid/external source datawindow:

$PBExportHeader$d_test.srd
release 9;
datawindow(units=0 timer_interval=0 color=1073741824 processing=1 HTMLDW=no print.printername="" print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no grid.lines=0 )
header(height=80 color="536870912" )
summary(height=0 color="536870912" )
footer(height=0 color="536870912" )
detail(height=92 color="536870912" )
table(column=(type=char(10) updatewhereclause=no name=tableid dbname="TableId" )
column=(type=char(10) updatewhereclause=no name=roworder dbname="RowOrder" )
column=(type=char(256) updatewhereclause=no name=fld_58953 dbname="Fld_58953" )
column=(type=char(256) updatewhereclause=no name=fld_58954 dbname="Fld_58954" )
column=(type=number updatewhereclause=no name=pkid dbname="PKId" )
column=(type=number updatewhereclause=no name=pkid1 dbname="PKId1" )
column=(type=char(256) updatewhereclause=no name=listvalue dbname="ListValue" )
column=(type=char(256) updatewhereclause=no name=rowcolor dbname="RowColor" )
column=(type=number updatewhereclause=no name=morerecords dbname="MoreRecords" )
)
data("Table1","0","Test Value1","Alex", 5, 5,"General","", 0,"Table2","1","Test Value2","Ustas", 7, 7,"Motors",null 0,)
text(band=header alignment="2" text="Fld 58953" border="0" color="33554432" x="279" y="8" height="64" width="663" html.valueishtml="0" name=fld_58953_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Fld 58954" border="0" color="33554432" x="951" y="8" height="64" width="617" html.valueishtml="0" name=fld_58954_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Pkid" border="0" color="33554432" x="1577" y="8" height="64" width="219" html.valueishtml="0" name=pkid_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Pkid1" border="0" color="33554432" x="1806" y="8" height="64" width="219" html.valueishtml="0" name=pkid1_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Listvalue" border="0" color="33554432" x="2034" y="8" height="64" width="891" html.valueishtml="0" name=listvalue_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Rowcolor" border="0" color="33554432" x="2935" y="8" height="64" width="722" html.valueishtml="0" name=rowcolor_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Morerecords" border="0" color="33554432" x="3666" y="8" height="64" width="352" html.valueishtml="0" name=morerecords_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="0" text="Tableid" border="0" color="33554432" x="9" y="4" height="64" width="261" html.valueishtml="0" name=tableid_t visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=4 alignment="0" tabsequence=30 border="0" color="33554432" x="951" y="8" height="76" width="617" format="[general]" html.valueishtml="0" name=fld_58954 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=5 alignment="1" tabsequence=40 border="0" color="33554432" x="1577" y="8" height="76" width="219" format="[general]" html.valueishtml="0" name=pkid visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=6 alignment="1" tabsequence=50 border="0" color="33554432" x="1806" y="8" height="76" width="219" format="[general]" html.valueishtml="0" name=pkid1 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=7 alignment="0" tabsequence=60 border="0" color="33554432" x="2034" y="8" height="76" width="891" format="[general]" html.valueishtml="0" name=listvalue visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=8 alignment="0" tabsequence=70 border="0" color="33554432" x="2935" y="8" height="76" width="722" format="[general]" html.valueishtml="0" name=rowcolor visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=9 alignment="1" tabsequence=80 border="0" color="33554432" x="3666" y="8" height="76" width="352" format="[general]" html.valueishtml="0" name=morerecords visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=3 alignment="0" tabsequence=20 border="0" color="33554432" x="279" y="8" height="76" width="663" format="[general]" html.valueishtml="0" name=fld_58953 visible="1" edit.limit=0 edit.case=any edit.focusrectangle=no edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=1 alignment="0" tabsequence=10 border="0" color="33554432" x="9" y="8" height="76" width="261" format="[general]" html.valueishtml="0" name=tableid visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
htmltable(border="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" )
export.xml(headgroups="0" includewhitespace="0" metadatatype=1 savemetadata=0 template=(comment="" encoding="UTF-8" name="t_imp" xml="<?xml version=~"1.0~" encoding=~"UTF-8~" standalone=~"no~"?><DataSet><xs:schema/><diffgr:diffgram><NewDataSet><Table diffgr:id=~"tableid~"><Fld_58953>fld_58953</Fld_58953><Fld_58954>fld_58954</Fld_58954><PKId>pkid</PKId><PKId1>pkid1</PKId1><ListValue>listvalue</ListValue><RowColor>rowcolor</RowColor><MoreRecords>morerecords</MoreRecords></Table></NewDataSet></diffgr:diffgram></DataSet>"))
import.xml(usetemplate="t_imp" tracefile="test_imp.txt" )
export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34320806
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...

картинка не грузиЦЦо, щас попробуем есчё разок ...
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34320951
AStadnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Темплайт t_imp делаешь сам в dw.
В dw-паинтере включаешь View->Export/Import Template
Внимательней см экспорт dw, поищи строку t_imp В экспорте, который ты сделал, есть темплате t_imp

Димамически сделать dw под xml можно. Только сам подумай - тебе это надо?
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34328351
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AStadnikТемплайт t_imp делаешь сам в dw.
В dw-паинтере включаешь View->Export/Import Template
Внимательней см экспорт dw, поищи строку t_imp В экспорте, который ты сделал, есть темплате t_imp

включил.
не вижу ...
дропдаун - пустой
слепой?
дурной?
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34329353
AStadnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
voronk AStadnikТемплайт t_imp делаешь сам в dw.
В dw-паинтере включаешь View->Export/Import Template
Внимательней см экспорт dw, поищи строку t_imp В экспорте, который ты сделал, есть темплате t_imp

включил.
не вижу ...
дропдаун - пустой
слепой?
дурной?

На окне с темплайтом XML щелкаешь другой клавишей мышки и выбираешь пункт OPen :)
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34329369
AStadnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аааа! Если хочешь свой темплайт сохранить с именем super_puper, то там же есть пункт save. Как только сохранишь см дропдаун на закладках XML EXPOrt|Import
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34331802
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пасибо комрад, разобрался.
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34351442
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AStadnikприложение

Комрад, скажи пожалуйста, а как ты построил d_test ???
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34356723
AStadnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
руками. задай вопрос иначе.
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34358425
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробую, сделал я oXMLHttp.Send(s_str)
получил обратно s_post_str = oXMLHttp.ResponseText

s_post_str представляет из себя (например):
<?xml version="1.0" encoding="utf-8"?>
<DataSet xmlns="http://eunify.net/DbAPI">
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="Fld_58953" msdata:Caption="Name" type="xs:string" minOccurs="0" />
<xs:element name="Fld_58954" msdata:Caption="Address1" type="xs:string" minOccurs="0" />
<xs:element name="PKId" msdata:Caption="sys.PKId" type="xs:int" minOccurs="0" />
<xs:element name="PKId1" type="xs:int" minOccurs="0" />
<xs:element name="ListValue" type="xs:string" minOccurs="0" />
<xs:element name="RowColor" type="xs:string" minOccurs="0" />
<xs:element name="MoreRecords" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<Table diffgr:id="Table1" msdata:rowOrder="0">
<Fld_58953>Shaw, Sydney & Rice</Fld_58953>
<Fld_58954>3000 Stemmons Freeway</Fld_58954>
<PKId>5</PKId>
<PKId1>5</PKId1>
<ListValue>Shaw, Sydney & Rice - 3000 Stemmons Freeway - 5</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
<Table diffgr:id="Table2" msdata:rowOrder="1">
<Fld_58953>Scott & Scott Attorneys at Law</Fld_58953>
<Fld_58954>40 Palm Boulevard</Fld_58954>
<PKId>7</PKId>
<PKId1>7</PKId1>
<ListValue>Scott & Scott Attorneys at Law - 40 Palm Boulevard - 7</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
<Table diffgr:id="Table3" msdata:rowOrder="2">
<Fld_58953>Mancini & Mancini</Fld_58953>
<Fld_58954>1000 Washington Place</Fld_58954>
<PKId>3</PKId>
<PKId1>3</PKId1>
<ListValue>Mancini & Mancini - 1000 Washington Place - 3</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
<Table diffgr:id="Table4" msdata:rowOrder="3">
<Fld_58953>Bauer & Associates</Fld_58953>
<Fld_58954>1500 Market Street</Fld_58954>
<PKId>4</PKId>
<PKId1>4</PKId1>
<ListValue>Bauer & Associates - 1500 Market Street - 4</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
<Table diffgr:id="Table5" msdata:rowOrder="4">
<Fld_58953>Dewey, Cheatum and Howe</Fld_58953>
<Fld_58954 />
<PKId>1</PKId>
<PKId1>1</PKId1>
<ListValue>Dewey, Cheatum and Howe - - 1</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
<Table diffgr:id="Table6" msdata:rowOrder="5">
<Fld_58953>Phillips and Lyon, LLC</Fld_58953>
<Fld_58954>123 S. Hampton Blvd</Fld_58954>
<PKId>2</PKId>
<PKId1>2</PKId1>
<ListValue>Phillips and Lyon, LLC - 123 S. Hampton Blvd - 2</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
<Table diffgr:id="Table7" msdata:rowOrder="6">
<Fld_58953>Carter & Lewis - Attorneys at Law</Fld_58953>
<Fld_58954>1 Peachtree Blvd.</Fld_58954>
<PKId>6</PKId>
<PKId1>6</PKId1>
<ListValue>Carter & Lewis - Attorneys at Law - 1 Peachtree Blvd. - 6</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
<Table diffgr:id="Table8" msdata:rowOrder="7">
<Fld_58953>Mancini & Mancini</Fld_58953>
<Fld_58954 />
<PKId>8</PKId>
<PKId1>8</PKId1>
<ListValue>Mancini & Mancini - - 8</ListValue>
<RowColor />
<MoreRecords>0</MoreRecords>
</Table>
</NewDataSet>
</diffgr:diffgram>
</DataSet>

на базе этой s_post_str, хочу построить datawindow.

file -> new -> datawindow

выбираем tabular -> Ok -> External

кишки будушего datawindow, здесь:

<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="Fld_58953" msdata:Caption="Name" type="xs:string" minOccurs="0" />
<xs:element name="Fld_58954" msdata:Caption="Address1" type="xs:string" minOccurs="0" />
<xs:element name="PKId" msdata:Caption="sys.PKId" type="xs:int" minOccurs="0" />
<xs:element name="PKId1" type="xs:int" minOccurs="0" />
<xs:element name="ListValue" type="xs:string" minOccurs="0" />
<xs:element name="RowColor" type="xs:string" minOccurs="0" />
<xs:element name="MoreRecords" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>

вот они колонки:
tableid
roworder
fld_58953
.......
morerecords

вместе с datatype, что string, что number и т.д.

начинаем строить datawindow, Define Result Set -> Enter Result Set Description -> заполняем наши колонки с соответствующим type.

сохраняем как d_test

потом идём view -> import/export template -> xml

его layout ессесвенно совсем не такой как твой.

вот с этого места плз.

ты всё делаеш delete, потом строиш по новому глядя в s_post_str, a потом сохраняеш как template?

так?

Или есть какой нибудь инструмент, который базируясь на s_post_str может построить соответсвуюший template inside datawindow?
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34359835
AStadnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
voronk....

ты всё делаеш delete, потом строиш по новому глядя в s_post_str, a потом сохраняеш как template?

так?


да
...
Рейтинг: 0 / 0
Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
    #34361962
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, большое спасибо.
Вопросов больше не имею.
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Ребята, подскажите плз как такой файл (xml) затянуть в datawindow ???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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