res2001

Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору ashum Можно попробовать выдергивать sedом информацию (sed отдельная утилита, ссылка есть в шапке), но в твоем примере есть 2 вхождения обоих тегов, видимо может быть не только 2, как реализовать это на sede я не в курсах. Может тут кто подскажет, кто в sedе волокет. По использованию парсера из VBS могу дать пример использования, в своё время делал на VBA скрипт загрузки xml файлов в эксельные таблицы. Язык в екселе тот же vbs, разницы почти никакой. Код: Set oxml = CreateObject("Microsoft.XMLDOM") oxml.async = False oxml.Load (file.xml) If oxml.parseError.errorCode <> 0 Then oxml.Close Exit Sub End If Set zap = oxml.getElementsByTagName("Zapros") For i = 0 To zap.Length - 1 sh.Cells(j, 1) = i + 1 sh.Cells(j, 2) = zap.Item(i).getElementsByTagName("Surname").Item(0).Text sh.Cells(j, 3) = zap.Item(i).getElementsByTagName("Name").Item(0).Text sh.Cells(j, 4) = zap.Item(i).getElementsByTagName("Secondname").Item(0).Text j = j + 1 Next | Смысл, думаю, понятен. По VBSу тебе надо в соответствующую ветку форума идти, тут вряд ли станут помогать - не в тему. Добавлено: Зацепило короче Вот набросал на чистом батнике с использованием sed.exe Код: @echo off SetLocal EnableDelayedExpansion >nul chcp 1251 set "status=0" for /f "tokens=*" %%a in ('sed "s/</\n/g" 111.xml ^| sed "s/>/\n/g" ') do ( if !status! equ 1 ( set "ANAME=%%a" set "status=2" ) else if !status! equ 4 ( if "%%a" neq "/ARTIST" (echo.!ANAME! - %%a) else echo.!ANAME! - set "ANAME=" set "status=5" ) if "%%a" equ "NAME" ( set "status=1" ) else if "%%a" equ "\NAME" ( set "status=3" ) else if "%%a" equ "ARTIST" ( set "status=4" ) else if "%%a" equ "\ARTIST" set "status=0" ) | Будет работать в предположении, что 1. в xml только одна строка 2. кодировка 1251 3. тег ARTIST следует за соответствующим тегом NAME, а не наооборот Хотя 1 пункт скорее всего не обязательный, главное чтоб тег распологался на одной строке и его содержимое тоже было на одной строке. Добавлено: В коде xml файл называется 111.xml. | Всего записей: 2580 | Зарегистр. 11-04-2003 | Отправлено: 11:56 07-06-2011 | Исправлено: res2001, 12:00 07-06-2011 |
|