У меня есть много файлов XML со многими событиями. Любое событие имеют некоторые тег:Преобразование нескольких строк в одну строку
<v8e:Event>
<v8e:Level>Information</v8e:Level>
<v8e:Date>2015-12-22T16:18:17</v8e:Date>
<v8e:ApplicationName>1CV8</v8e:ApplicationName>
</v8e:Event>
<v8e:Event>
<v8e:Level>Information</v8e:Level>
<v8e:Date>2015-12-23T16:18:17</v8e:Date>
<v8e:ApplicationName>1CV28</v8e:ApplicationName>
</v8e:Event>
Я хочу, чтобы преобразовать эти стриктуры для этого:
Information, 2015-12-22T16:18:17, 1CV8
Information, 2015-12-23T16:18:17, 1CV28
Я знаю, как удалить XML-тег, но я не не знаю, как конкатенация другой строки в одном.
@echo от SETLOCAL EnableDelayedExpansion
(for /F "delims=" %%a in ('findstr /I /L "<v8e:Level> <v8e:Date> <v8e:ApplicationName>" *.xml') do (
set "line=%%a"
set "line=!line:*<v8e:Level>=!"
set "line=!line:*<v8e:Date>=!"
set "line=!line:*<v8e:ApplicationName>=!"
for /F "delims=<" %%b in ("!line!") do echo %%b
)) > 111.txt
Как reuslt у меня есть:
Information
2015-12-22T16:18:17
1CV8
Information
2015-12-23T16:18:17
1CV28
И я также хочу, имя выходного файла же, как входной файл. Возможно, кто-то может остановить меня, чтобы решить эту проблему?
Если я хочу изменить номер моего заявления? Для примера добавьте дополнительно 7 файлов:, что Ialso должно измениться в вашем скрипте? И что мне делать, если какое-то поле будет пустым? Например Информация 2015-12-23T16: 18: 17 –
hubba900
Добавить дополнительные 7 полей: и добавьте 7 к 3 полям. Если какое-либо поле пусто, вы можете использовать tokens = 2,3 вместо 3, а если «%% b» neq »« (установите «output =! Output! %% b») else (установите «output =! Output! Empty» , ") вместо этого просто установите« output =! output! %% a », –
Aacini