пропарсить xml в bat файле
От: GrayRess  
Дата: 08.08.08 01:45
Оценка:
Есть xml файл 1.xml. В нем есть строка <service>Name<service>. Как в батфайле вытащить значение Name из 1.xml ?
Спасибо.
Re: пропарсить xml в bat файле
От: Vain Россия google.ru
Дата: 08.08.08 02:04
Оценка:
Здравствуйте, GrayRess, Вы писали:

GR>Есть xml файл 1.xml. В нем есть строка <service>Name<service>. Как в батфайле вытащить значение Name из 1.xml ?

GR>Спасибо.
findstr.exe /?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: пропарсить xml в bat файле
От: GrayRess  
Дата: 08.08.08 03:05
Оценка:
Спасибо, уже что-то.
Строка в батнике

FINDSTR /R "<serviceName>.*</serviceName>" 1.xml

возвращает строку "<service>Name</service>" а надо именно "Name".
(Сразу, на всякий случай скажу, я батники особо никогда не писал).
Re[3]: пропарсить xml в bat файле
От: Аноним  
Дата: 08.08.08 12:11
Оценка:
Здравствуйте, GrayRess, Вы писали:

GR>Спасибо, уже что-то.

GR>Строка в батнике
GR>FINDSTR /R "<serviceName>.*</serviceName>" 1.xml
GR>возвращает строку "<service>Name</service>" а надо именно "Name".
GR>(Сразу, на всякий случай скажу, я батники особо никогда не писал).
Запехните вывод утилиты в переменную, а потом простым for-ом, найдёте символ сначало '>', потом '<'. Как — читать хелп по командам for и call.
Re: пропарсить xml в bat файле
От: Roman Odaisky Украина  
Дата: 08.08.08 13:59
Оценка: 4 (1)
Здравствуйте, GrayRess, Вы писали:

GR>Есть xml файл 1.xml. В нем есть строка <service>Name<service>. Как в батфайле вытащить значение Name из 1.xml ?

GR>Спасибо.

Уж лучше поставить какой-нибудь нормальный XML-парсер. Например, xmlstarlet (если он под винду есть): «xmlstarlet sel -t -c "//service/text()" < 1.xml».
До последнего не верил в пирамиду Лебедева.
Re: пропарсить xml в bat файле
От: ddanila Россия  
Дата: 10.08.08 23:03
Оценка:
GR>Есть xml файл 1.xml. В нем есть строка <service>Name<service>. Как в батфайле вытащить значение Name из 1.xml ?

FOR /F "tokens=2* delims=<>" %%i in ('findstr "<service>" 1.xml') do @echo %%i
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.