Страницы: 1
RSS
Задать префикс в XML, Не могу найти как задать префикс, без него ошибка при чтении файла
 
пишу макрос для создания XML из данных с таблицы, код нашёл тут на форуме, работает отлично, однако в моём файле оказалось необходимо использовать префикс, подскажите как это можно сделать?

Вот код, который нашел на просторах форума

Код
Option Explicit

Sub YML_For_Professional()
Dim xmlpath$
Dim XML As Object
Dim rootnode As Object
Dim i As Long
Dim ColumnName$


xmlpath = ThisWorkbook.Path & "\WebXml.xml"

Set XML = CreateObject("Microsoft.XMLDOM")

Dim ra As Range, cell As Range
Set ra = Range([A2], Range("A" & Rows.Count).End(xlUp)) ' заполненные строки

' задаем кодировку для XML
XML.appendChild XML.createProcessingInstruction("xml", "version='1.0' encoding='utf-8'")

    With XML.appendChild(XML.createElement("pma_xml_export"))
        .Attributes.setNamedItem(XML.createAttribute("version")).Text = "1.0"
        With .appendChild(XML.createElement("databas"))
            .Attributes.setNamedItem(XML.createAttribute("name")).Text = "loginuser"
            ' 
            For Each cell In ra.Cells    ' 
                With .appendChild(XML.createElement("table"))    ' 
                    ' 
                    .Attributes.setNamedItem(XML.createAttribute("name")).Text = "WebXml"
                    For i = 1 To 4    ' 
                        With .appendChild(XML.createElement("column"))    '
                            ColumnName = Cells(1, i)    '
                            .Attributes.setNamedItem(XML.createAttribute("name")).Text = ColumnName
                            .Text = cell.EntireRow.Cells(i)    '
                        End With
                    Next
                End With
            Next cell
        End With
    End With

XML.Save xmlpath ' сохраняем XML
End Sub


Но мне необходимо, что бы структура была такого вида

Код
<gost:application xmlns:gost="urn://fgis-arshin.gost.ru/module-verifications/import/2020-06-19">
<gost:result>
<gost:miInfo>
<gost:singleMI>
<gost:mitypeNumber>60935-15</gost:mitypeNumber>
<gost:manufactureNum>212185</gost:manufactureNum>
<gost:modification>СГГ-20Микро-01</gost:modification>


Ну и так далее, структуру я понял как выстроить, но когда файл создается, там ошибка, типа префикс gost не определен, подскажите, как это сделать?
 
Держите.
Скрытый текст
Изменено: doober - 06.02.2025 00:07:11
 
doober, Огромное спасибо, а подскажите, у меня там ещё файлик есть, в нем много таких префиксов, как их можно перечислить, что бы они были в одном узле?

Код
<SOAP-ENV:Envelope xmlns:dt="http://api.vetrf.ru/schema/cdm/dictionary/v2" xmlns:bs="http://api.vetrf.ru/schema/cdm/base" xmlns:merc="http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2" xmlns:apldef="http://api.vetrf.ru/schema/cdm/application/ws-definitions" xmlns:apl="http://api.vetrf.ru/schema/cdm/application" xmlns:vd="http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
 
Типа этого.
Xmlnode.setAttribute "xmlns:dt", "http://api.vetrf.ru/schema/cdm/dictionary/v2" и т.д.
 
doober, Спасибо огромное
Страницы: 1
Наверх