|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Обработка XML |
|
VBS/WSH/JS - Обработка XML
|
Новый участник Сообщения: 10 |
Профиль | Отправить PM | Цитировать Уважаемые. Вопрос.
Есть xml, которая выглядит вот так: <?xml version="1.0" encoding="Windows-1251"?> <root> <id>3904</id> <sos_login>848hRRB9Th</sos_login> <pfr_xmls> <pfr_xml code="014-001" no="014-001-052241"> <регистрационнаяИнформация> <датаВремяФормирования>2011-11-09T13:05:05</датаВремяФормирования> <списокСубъектов> <субъект идентификаторСубъекта="014-001-052241" типСубъекта="АбонентСЭД" имя="Name of firm"> <списокСертификатов типПодписанта="руководитель"> <сертификат активный="true"> MIIEZjCCBB </сертификат> </списокСертификатов> </субъект> </списокСубъектов> </регистрационнаяИнформация> </pfr_xml> <pfr_xml code="014-004" no="014-004-012910"> <регистрационнаяИнформация> <датаВремяФормирования>2011-11-09T13:05:05</датаВремяФормирования> <списокСубъектов> <субъект идентификаторСубъекта="014-004-012910" типСубъекта="АбонентСЭД" имя="Name of Firm"> <списокСертификатов типПодписанта="руководитель"> <сертификат активный="true"> MIIEZjCCBB </сертификат> </списокСертификатов> </субъект> </списокСубъектов> </регистрационнаяИнформация> </pfr_xml> </pfr_xmls> </root> Надо весь текст от тега <РегистрационнаяИнформация> закинуть в отдельную XML и назвать его... Не важно как. А поскольку тут два сертификата, то надо создать две XML. Соответственно, вытащив из нее имя компании и серийный номер. У меня пока временно выглядит код вот так: Dim DOMDocument1, Node1, tmpStr1 Set DOMDocument1 = CreateObject("MSXML2.DOMDocument") With DOMDocument1 .Load "C:\XML\" & basenameNEW if .parseError.reason <> "" Then MsgBox .parseError.reason,vbCritical WScript.Quit End if Set currNode = domdocument1.documentElement login = currNode.childNodes(1).text 'Копирую значение Логина WScript.Echo currNode.childNodes(1).text 'XML1 = currNode.childNodes(2).text 'WScript.Echo currNode.childNodes(2).text End With 'ТУТ ДОЛЖЕН ИДТИ ВРОДЕ КАК ЦИКЛ FOR EACH. 'ТОЛЬКО НЕ ПОНИМАЮ С КАКИМИ ПАРАМЕТРАМИ. 'Ниже сейчас разбираю одну XML. Вернее придется разобрать один из сертификатов.Но в цикле. 'Option Explicit Dim DOMDocument, Node, tmpStr Set DOMDocument = CreateObject("MSXML2.DOMDocument") 'Далее надо загрузить XML с первым сертификатом. With DOMDocument .Load "C:\XML\" & basename 'Я так понимаю, это не надо. if .parseError.reason <> "" Then MsgBox .parseError.reason,vbCritical WScript.Quit End if With .documentElement.SelectSingleNode("списокСубъектов") tmpStr = "" For Each Node in .SelectNodes("pfr_xmls") 'tmpStr = tmpStr & "Идентификатор субъекта: " & Node.GetAttribute("идентификаторСубъекта") & vbCrlf 'tmpStr1 = tmpStr & "Тип субъекта: " & Node.GetAttribute("идентификаторСубъекта") & vbCrlf 'tmpStr2 = tmpStr & "имя: " & Node.GetAttribute("имя") & vbCrlf sNomer = Node.GetAttribute("идентификаторСубъекта") firm = Node.GetAttribute("имя") Next firm = Replace(firm,"'","") firm = Replace(firm,"""", "") firm = Replace(firm,"»", "") firm = Replace(firm,"«", "") End With End With - Скачивание XML. (есть) - Считываем поле login. (есть) - Далее циклом проходим FOR EACH по всем <pfr_xmls> : _______ Сохраняем и формируем новый XML-файл, который начинается только с тегов <РегистрационнаяИнформация> с примерно таким же id и дописываем через "_" цифру по счету. (Пример: id 4556. Значит наши новые XML будут 4556_1, 4556_2) _______ Вытаскиваем данные - номер и имя компании. _______ Далее идет отсылание на почту (есть). Основная проблема, не знаю немного структуру работы с XMLDOM |
|
Отправлено: 17:57, 09-11-2011 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
7 / 2008 R2 - dot1x + xml profile + unattend.xml | HaeMHuK | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 0 | 20-10-2011 12:43 | |
PHP и XML | Обработка неалфавитных символов | Coutty | Вебмастеру | 6 | 17-12-2008 10:42 | |
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 | dimait | Вебмастеру | 4 | 23-08-2007 02:02 | |
XML | zelo | Общий по Linux | 9 | 06-11-2006 13:39 | |
xml | ptt | Программирование и базы данных | 1 | 19-12-2003 19:37 |
|