Страницы: 1
RSS
Выгрузка данных из таблицы в XML по схеме, Имеется таблица (прилагается) и необходимо чтобы из нее выгружались все строки в XML
 
Доброго времени суток.

Друзья, помогите с решением... имеется таблица с данными в ms excel и необходимо чтобы из нее выгружались данные в XML файл с именем 38_EPA_ГГГГММДДЧЧММСС.xml.

Пример таблицы с данными прилагается, а так же какой на основании данных с примера должен получаться XML файл. Спасибо большое!
 
А какой вы видите помощь? Тут нужно писать с нуля код формирующий xml файл. Почитайте про MSXML2.DOMDocument60 и дерзайте. Формирование спецификации таблицы можно втавить в цикл. Но это муторное занятие, требующее внимательности, чуть теги местами перепутали и уже xml криво соберется.
"Все гениальное просто, а все простое гениально!!!"
 
Просто дайте может уже есть готовое решение для примера по формату другого xml файла а я сделаю для своего варианта.... спасибо!
 
Готовое решение есть, но таблица совершенно не соответствует вашей, порядок заполнения тегов у вас не по порядку, названия тегов тоже нужно прописывать.
В общем при написании кода встречаются нюансы, я честно говоря не видел создания xml файла по голой таблице, бес списка тегов. Возможно у меня опыта маловато, и кто то встречался с таким чудом.

Скрытый текст
Изменено: Nordheim - 12.12.2019 10:09:34
"Все гениальное просто, а все простое гениально!!!"
 
А где же решение?
 
Оно не подойдет к вашей задаче. А с нуля писать нет, ни времени ни желания.
Изменено: Nordheim - 12.12.2019 11:04:16
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
kaa700 написал:
А где же решение?
Код
    Set objDoc = CreateObject("Microsoft.XMLDOM")
    Set objNode = objDoc.createProcessingInstruction( _
                  "xml", "version='1.0' encoding='UTF-8' standalone='yes'")
    Set objNode = objDoc.InsertBefore(objNode, _
                                      objDoc.ChildNodes.Item(0))
    Set objRoot = objDoc.createElement("Packet")
    objRoot.setAttribute "xmlns", "Oad"
    Set objDoc.DocumentElement = objRoot
    Set Documents = objDoc.createElement("Documents")
    objRoot.appendChild Documents
       For i= 1 to  ???
          Set Document = objDoc.createElement("Document")
         Documents.appendChild Document
         Set systemId = objDoc.createElement("systemId")
         systemId.Text = "EPA"
         Document.appendChild systemId
         ' more code line
         Set appliedAttributes = objDoc.createElement("appliedAttributes")
         Set attrName = objDoc.createElement("attrName")
         attrName.Text = "clientId"
         Set attrValue = objDoc.createElement("attrValue")
         attrValue.Text = "123456789"
         appliedAttributes.appendChild attrName
         appliedAttributes.appendChild attrValue
         Document.appendChild appliedAttributes
         ' more code line
     next
    objDoc.Save strFilePath

Изменено: doober - 12.12.2019 12:08:34
 
kaa700, Вам выложили пример, но это далеко от того что вы хотите в итоге, учитывая, что все данные в таблице находятся не по порядку, это нужно закладывать в логику цикла, который будет формировать спецификацию тега Document. В итоге не все так просто, поэтому если вы не имели дел с созданием xml документов, а время поджимает, то вам скорее всего в ветку "работа", если же время терпит, то можно изучить тему самому, и попробовать написать код создания xml файла. Пример у вас уже есть. Удачи  ;)
"Все гениальное просто, а все простое гениально!!!"
 
Подскажите как в коде можно сделать чтобы кодировка была "UTF-8 без BOM"? Спасибо!
 
Ищите в сети как с  UTF-8 перекодировать в UTF-8 без BOM
Изначально файл сохраняется в UTF-8
Страницы: 1
Наверх