4 / 4 / 1
Регистрация: 09.10.2019
Сообщений: 241
|
|
1 | |
VBS Разбор xml06.05.2022, 15:09. Показов 1568. Ответов 5
Здравсвтуйте!
Есть xml, в котором для преобразования используется xsl файл. Когда открываешь xml в браузере, всё красиво, хотя искать что-либо в самом xml весьма затруднительно. Пользователь видит в ббраузере и говорит, мне надо импортировать это, это, это и т.д. Найти эти поля в xml трудно - он сам по себе не маленький, и xsl тоже довольно-таки большого объёма, и, самое главное, понимая, для чего нужен и что делает xsl, всё-таки разобраться с ним мне трудно. Есть ли какой-то способ разобрать именно то, что в браузере видит пользователь. Т.е., по названию тех полей, что он видит на экране, получить значения этих полей? Сами xml и xsl предоставить не могу из-за конфиденциальности информации. Поэтому общий принцип. Далее полученные значения надо будет импортировать в SQL, но это уже другая история. Добавлено через 28 минут Да, всё это на vbs.
0
|
06.05.2022, 15:09 | |
Ответы с готовыми решениями:
5
Переименовать все файлы xml в папке данными из тегов этих же xml файлов Объединение нескольких xml (ну или патч xml) Перенос из одного XML в другой XML Часть 2 Перенос из одного XML в другой XML Разбор XML |
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
|
|
06.05.2022, 17:21 | 2 |
Тормоз, есть Msxml2.DOMDocument и Microsoft.XMLDOM. В нашем разделе можно посмотреть нек. примеры с ними.
В книге Брайана Книттеля "Windows 7. Скрипты, автоматизация и командная строка" тоже хорошая справка имеется.
1
|
малоболт
1303 / 490 / 208
Регистрация: 30.01.2020
Сообщений: 1,202
|
|
06.05.2022, 17:38 | 3 |
Посмотрите, например, здесь.
На что обратить внимание: 1. Сам объект xml создаётся через set xml=CreateObject("Msxml2.DOMDocument.6.0") 2. Затем весь файл считывается через xml.Load("полный_путь_к_файлу") 3. Затем для разбора считанной информации используются 3 оператора: 3.1. Массив нужных нод извлекается через xml.SelectNodes 3.2. Единичная нода (или первая из нод с таким именем, если их несколько в файле) через xml.SelectSingleNode 3.3. Атрибут с нужным названием извлекается из объекта ноды через .GetAttribute При этом файл xsl не нужен. Работаем только с xml. В принципе, можно написать простенький скриптик, который будет спрашивать в цикле: "Введите название параметра, который хотите увидеть?" Потом искать это название среди нод и атрибутов, и выводить все, если оно уникально, либо предлагать выбрать, если не уникально, и выводить опять-же все найденные. Выводить можно на экран или лучше в файл. Можно просто текстовый, можно в Word или Excel. Надо только определиться с конкретным ТЗ.
1
|
4 / 4 / 1
Регистрация: 09.10.2019
Сообщений: 241
|
|
11.05.2022, 06:32 [ТС] | 4 |
Априори неизвестно, сколько записей придётся импортировать из xml файла, одну или несколко десятков, поэтому историю с интерактивным вводом можно отбросить сразу.
Стиль работы предусамтривает только такой (максимум) )диалог - указать каталог, из которого выполняется загрузка, быть может, дату, в случае, если идёт загрузка за несколько дней, а остальной ввод в автоматическом режиме. Спасибо!
0
|
малоболт
1303 / 490 / 208
Регистрация: 30.01.2020
Сообщений: 1,202
|
|
11.05.2022, 12:37 | 5 |
ОК. Тогда разбор XML как раз по аналогии с тем примером, что я привёл выше. Запись разобранного в Excel, как понимаю для вас проблемы не составит. Искать в сети что-то общее тут бесполезно - поскольку огромное число нюансов конкретной задачи: что из каких нод/атрибутов XML куда в Excel и в каком виде, при выполнении/невыполнении каких условий, обычно приводит к тому, что проще написать свой код для данной конкретной задачи, чем разбираться и править что-то написанное для других условий. Максимум - использовать найденное как пример.
1
|
6228 / 2670 / 1051
Регистрация: 06.06.2017
Сообщений: 9,127
|
|
12.05.2022, 18:02 | 6 |
Без предложенных мной инструкций с примерами вообще что-либо пытаться делать от балды — ещё более непродуктивное занятие.
1
|
12.05.2022, 18:02 | |
12.05.2022, 18:02 | |
Помогаю со студенческими работами здесь
6
Разбор XML Разбор XML Разбор XML Разбор XML Разбор XML Разбор XML Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |