![]() |
#1 |
Участник
|
Здравствуйте! На данный момент изучаю эту область. Насколько я понял большинство не пользуется XML портами а пользуются XML DOM. Если возможно подскажите как к нему достучаться из Навижн, и если можно рускоязычную документацию. Заранее извиняюсь м/б за глупые вопросы, и заранее благодарен
|
|
![]() |
#2 |
Moderator
|
Ну все как обычно, создаете переменную Automation со ссылкой на Microsoft XML, v3.0, а дальше по вкусу. Изучайте MSDN.
|
|
![]() |
#3 |
Участник
|
Вот пример кода:
IF ISCLEAR(gXMLDoc) THEN CREATE(gXMLDoc); //Загрузка файла gXMLDoc.load(FileName); lRecr.OPEN(TableNo); IF ClearTable THEN lRecr.DELETEALL(FALSE); //корневой элемент currElem := gXMLDoc.selectSingleNode('root'); //Выборка узлов tableNodes := currElem.selectNodes('./t[@n='''+ FORMAT(TableNo) + ''']'); //обход дерева FOR k:=0 TO tableNodes.length -1 DO BEGIN... |
|
![]() |
#4 |
Участник
|
Посмотрите addon XML-Data Exchange Manager (XML-DEM), может будет полезен.
|
|
![]() |
#5 |
Участник
|
Нужна помощь по Импорту из Xml в Nav.
Мне не понятны строчки lRecr.OPEN(TableNo); // lRecr - тип переменной ? TableNo - ??? './t[@n='''+ FORMAT(TableNo) + ''']' - что это за строчка ? |
|
![]() |
#6 |
Moderator
|
1 - открытие Record Reference на указанную таблицу
2 - а черт его знает ;-) выводит в строку номер таблицы |
|
![]() |
#7 |
Участник
|
Пример работы с xml dom можно посмотреть в CU 6217,6224-6226 для четверки, в тройке есть аналогичные юниты
|
|
![]() |
#8 |
Участник
|
пример моего xml
- <XML-12.01.07 Заголовок="Navision LOG"> <Record Polzov="artem" Type_obj="REPORT" ID="50048" Data="12.01.07" Time="12:12:03" /> <Record Polzov="artem" Type_obj="REPORT" ID="50044" Data="12.01.07" Time="12:12:03" /> <Record Polzov="artem" Type_obj="REPORT" ID="50042" Data="12.01.07" Time="12:12:03" /> </XML-12.01.07> мне необходимо вытянуть эти данные с мою таблицу. код для получения данных IF ISCLEAR(XML_Doc_Out) THEN CREATE(XML_Doc_Out); XML_Doc_Out.load('C:\test.xml'); XMLCurrNode_Out := XML_Doc_Out.documentElement; XMLNodeList := XML_Doc_Out.getElementsByTagName(XMLCurrNode_Out.nodeName); XMLCurrNode_Out2 := XMLNodeList.item(0); Znach := XMLCurrNode_Out2.attributes.getNamedItem('Polzov').text; MESSAGE(Znach); на строчке Znach := XMLCurrNode_Out2.attributes.getNamedItem('Polzov').text - выдает ошибку - что переменная Automation не инициализирована. Почему ???? |
|
![]() |
#9 |
Участник
|
Вопрос снимается !!! Все уже получилось
|
|