Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Заменить в файле xml значения по справочнику

Ответить
Настройки темы
Любой язык - Заменить в файле xml значения по справочнику

Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: rar папка.rar
(20.0 Kb, 7 просмотров)
Здравствуйте
Возможно ли скриптом проделать следующее: заменить значения в файле xml по справочнику. Справочник в файле Лист Microsoft Excel.xlsm в таблице SNMPDiscovery. Желательно чтобы данные справочника брались из умной таблицы

Отправлено: 20:17, 02-05-2022

 

Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


megaloman, я же говорю проблема решена.
И даже если б Вы не сказали как лечить(Сохраняйте скрипт в 1251 кодировке) проблему с кириллицей то меня бы устроил и такой вариант.
А текстовый файл я просто показал с чем работать мне приходится. Ничего решать не надо. Уже решено все что нужно было в начале темы

Отправлено: 20:33, 03-05-2022 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


megaloman, здравствуйте
Не знаете почему не работает замена?
Все заменяемые значения обернуты в <Description>

Последний раз редактировалось v79italya, 22-05-2022 в 23:46.


Отправлено: 15:35, 19-05-2022 | #12


Ветеран


Contributor


Сообщения: 2733
Благодарности: 1698

Профиль | Отправить PM | Цитировать


v79italya, Ваш файл при скачивании блокируется как вредоносный. Не могу его посмотреть

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 19:08, 19-05-2022 | #13


Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


В архиве выгрузка справочника из 1с и файл Excel плюс vbs.
По отдельности большой размер выходит, не пропускает.


Я с гугглХром скачиваю свой файл. Ошибка: обнаружен вирус. Там справочник в 2,4 мб

Последний раз редактировалось v79italya, 22-05-2022 в 23:47.


Отправлено: 20:00, 19-05-2022 | #14


Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


Ругается на xlsm. Файл xlsx сделаю по новой

Последний раз редактировалось v79italya, 22-05-2022 в 23:46.


Отправлено: 20:12, 19-05-2022 | #15


Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


xlsx загружаю в архиве т.к. размер тоже большой

Последний раз редактировалось v79italya, 22-05-2022 в 23:47.


Отправлено: 20:19, 19-05-2022 | #16


Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


Как я понял, проблема в кодировке. Теперь справочник в кодировке - UTF-8-BOM и это сильно, раз нет ответа, усложняет обработку подобных файлов

Отправлено: 19:24, 21-05-2022 | #17


Ветеран


Contributor


Сообщения: 2733
Благодарности: 1698

Профиль | Отправить PM | Цитировать


v79italya,
Цитата v79italya:
заменить значения в файле xml по справочнику. ......значения обернуты в <Description> »
Вы не предоставили xml.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 20:13, 21-05-2022 | #18


Старожил


Сообщения: 239
Благодарности: 8

Профиль | Отправить PM | Цитировать


Файл xml в архиве Товары.rar.
В файле Excel.rar экселевский файл с таблицей(что менять и на что менять).
Сейчас проверил - эти файлы скачиваются

Последний раз редактировалось v79italya, 22-05-2022 в 23:48.


Отправлено: 00:45, 22-05-2022 | #19


Ветеран


Contributor


Сообщения: 2733
Благодарности: 1698

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: txt я220522.vbs.txt
(935 байт, 1 просмотров)

v79italya, Вот вариант с UTF-8. Единственное, не понимаю как работает справочник в xlsx, там стоят формула с генерацией случайного соответствия.
Код: Выделить весь код
Option Explicit

Dim FileXLS: FileXLS = "Z:\Box_In\Excel.xlsx"
Dim BeginXLS: BeginXLS = "A2"
Dim FileXMLin: FileXMLin = "Z:\Box_In\Товары.xml"

Dim FileXMLout: FileXMLout = "Z:\Box_In\ТоварыOutADO.xml"

Dim Mass, i, i1, i2, j2
Dim AllTxt

MsgBox "Begin"

With CreateObject("Excel.Application")
    .Visible = False 'True
    .Workbooks.Open FileXLS
    Mass = .Range(BeginXLS + ":" + .Range(BeginXLS).End(-4121).Offset(0, 1).Address)
    .DisplayAlerts = False
    .Quit
End With

i1 = LBound(Mass, 1)
i2 = UBound(Mass, 1)
j2 = UBound(Mass, 2)

With CreateObject("ADODB.Stream")
    .Charset = "utf-8"
    .Open
    .LoadFromFile (FileXMLin)
    AllTxt = .ReadText()
    .Close

    For i = i1 To i2
        AllTxt = Replace(AllTxt, ">" + Mass(i, i1) + "<", ">" + Mass(i, j2) + "<")
    Next
    
    .Open
    .WriteText AllTxt
    .SaveToFile FileXMLout, 2
    .Close
End With
MsgBox "Done"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:04, 22-05-2022 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Заменить в файле xml значения по справочнику

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] Поиск hex значения в файле, замена значения на заданное, сохранение файла 9119 Скриптовые языки администрирования Windows 24 28-01-2024 21:23
CMD/BAT - [решено] Найти текст по маске в файле и вставить найденные значения в ini файл Anidzuka Скриптовые языки администрирования Windows 20 10-01-2019 19:06
CMD/BAT - [решено] замена значения в xml-файле firstarey Скриптовые языки администрирования Windows 20 13-11-2017 11:24
VBS/WSH/JS - помогите заменить один блок на другой в xml файле khodakovskyi Скриптовые языки администрирования Windows 0 07-01-2013 00:55
работа с файлами в HEX формате, поиск и замена по 16ричному адресу значения в файле. andr_mozg AutoIt 3 10-03-2012 10:20




 
Переход