powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не могу понять где у меня ошибка:не работает цикл по элементам узла...xml код внизу...VBA
5 сообщений из 5, страница 1 из 1
Не могу понять где у меня ошибка:не работает цикл по элементам узла...xml код внизу...VBA
    #39668125
-<attachments>


-<attachment>

<publishedContentId>94858457839859485739485</publishedContentId>

<fileName>Приложение к извещению.doc</fileName>

<fileSize>7.21 Мб</fileSize>

<docDescription>Приложение №</docDescription>

<url> http://iz/file.html?uid=6FB2FB4BCEEB009AE0530A86121F1E6F</url>


-<cryptoSigns>

<signature type="CAdES-BES">3ZfLQHnuEL9kyG1zL31VYDbuNz0ReMMrjWIu6dKgNkKdgRhapkMddr</signature>

</cryptoSigns>

</attachment>


-<attachment>

<publishedContentId>AE0530A86121F3105</publishedContentId>

<fileName>Документация.doc</fileName>

<fileSize>7.81 Мб</fileSize>

<docDescription>Аукционная документация</docDescription>

<url> http://z/file.html?uid=6FC294AB51E3006AE0530A86121F3105</url>


-<cryptoSigns>

<signature type="CAdES-BES">BAMbz6a/f0Kz3IZoIi/D0bGRVbDTREw4hIEm800eEm9dqSdYuUTfcc</signature>

</cryptoSigns>

</attachment>

</attachments>

--------------------------------------------------------------------
Я только учус )))

А вот сам цикл на VBA:

Private Sub Кнопка0_Click()

Dim xmlOb As MSXML2.DOMDocument60
Dim xNode As MSXML2.IXMLDOMNode
Dim xElem As MSXML2.IXMLDOMElement
Dim db As DAO.Database
Dim rst As DAO.Recordset

Set db = CurrentDb
Set rst = db.OpenRecordset("tabMXL")


Set xmlOb = New DOMDocument60: xmlOb.async = False: xmlOb.validateOnParse = True

'Назначаем схемы
xmlOb.SetProperty "SelectionNamespaces", "xmlns:q='http://zakupki.gov.ru/oos/export/1' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:oos='http://zakupki.gov.ru/oos/types/1'"
xmlOb.SetProperty "SelectionNamespaces", "xmlns:q='http://zakupki.gov.ru/oos/types/1' xmlns:ns2='http://zakupki.gov.ru/oos/export/1' xmlns:ns3='http://zakupki.gov.ru/oos/pprf615types/1' xmlns:ns4='http://zakupki.gov.ru/oos/base/1'"

If xmlOb.Load("c:\1Zakupki_test\1.xml") Then
For Each xElem In xmlOb.selectNodes(".//q:attachments")
rst.AddNew
rst!fName = xElem.selectSingleNode(".//q:fileName").Text
rst!fSize = xElem.selectSingleNode(".//q:fileSize").Text

Next xElem
rst.Update
End If
rst.Close

End Sub


Здесь я хотел найти узел Attachments и пройтись по всем подузлам (правильно сказал?) "attachment" и записать данные элементов "fileName", "fileSize" в таблицу tabXML. Записывает в таблицу элементы только первого аттачмента, второго не видит, не идет...

Что я как новичок сделал не так ???
...
Рейтинг: 0 / 0
Не могу понять где у меня ошибка:не работает цикл по элементам узла...xml код внизу...VBA
    #39668126
Нашел проблему....надо было дописать в наименовании узла "attachments" добавить подузел "attachment"

Тема закрыта...
...
Рейтинг: 0 / 0
Не могу понять где у меня ошибка:не работает цикл по элементам узла...xml код внизу...VBA
    #39668127
Владислав1970,

Поторопился написать....пока не работает (((
...
Рейтинг: 0 / 0
Не могу понять где у меня ошибка:не работает цикл по элементам узла...xml код внизу...VBA
    #39668132
Владислав1970,

Решил...цикл поменял на этот:

Set xElem = xmlOb.selectSingleNode(".//q:attachments")
For Each xSub In xElem.childNodes
rst.AddNew
rst!fName = xSub.selectSingleNode(".//q:fileName").Text
rst!fSize = xSub.selectSingleNode(".//q:fileSize").Text
rst.Update
Next

Выделил узел и циклом по childnodes )))))


Тема можно сказать закрыта
...
Рейтинг: 0 / 0
Не могу понять где у меня ошибка:не работает цикл по элементам узла...xml код внизу...VBA
    #39668133
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав1970, для начало освой оформление кода и прочего тегами - см. окно создания сообщения слева (Помощь).
Файл приложи
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не могу понять где у меня ошибка:не работает цикл по элементам узла...xml код внизу...VBA
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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