PowerShell - [решено] Поиск текста в xml и запись в файл.

Ответить
Аватара пользователя
voleja

PowerShell - [решено] Поиск текста в xml и запись в файл.

Сообщение voleja »

Добрый вечер, подскажите пожалуйста, может быть уже есть готовое решение, задача следующая.

Есть каталог на "B:\20150415\" в котором содержится 20+ файлов *.xml и др. файлов (имена файлов уникальные).

Содержимое каждого xml-файла следующее:



Скрытый текст

[spoiler]HTML код:
[/spoiler]

Код: Выделить всё

-
-
1
Older

-
-
-
1
Andrew












Необходимо обойти все файлы *.xml каталога "B:\20150415\" и получить значения из каждого файла и , записав его на следующую строку созданного файла (csv или xls).

Где первое значение из примера:

1;Andrew

105;Andy

итд
Аватара пользователя
Foreigner

Re: PowerShell - [решено] Поиск текста в xml и запись в файл.

Сообщение Foreigner »

voleja,



Код:

Код: Выделить всё

get-childitem 'B:\20150415' *.xml | foreach {
    [xml] $xml = get-content $_.fullname
    $id = ($xml.package.objects.object.properties.property | ? { $_.name -eq 'id' }).'#text'
    $fio = ($xml.package.objects.object.properties.property | ? { $_.name -eq 'fio' }).'#text'
    add-content 1.csv "$id;$fio"  
}
Аватара пользователя
Kazun

Re: PowerShell - [решено] Поиск текста в xml и запись в файл.

Сообщение Kazun »

Код:

Код: Выделить всё

Select-Xml -path *.xml  "//PROPERTIES"  | Foreach {$_.Node.Property."#text" -join ","} | Out-File resilt.csv
Аватара пользователя
Georgio

Re: PowerShell - [решено] Поиск текста в xml и запись в файл.

Сообщение Georgio »

Для полноты коллекции:

Код:

Код: Выделить всё

gci 'B:\20150415\*.xml'|%{([xml](gc $_.fullname)).SelectNodes('//PROPERTY').InnerText -join ';'}|Out-File 'example.csv'

.
Аватара пользователя
voleja

Re: PowerShell - [решено] Поиск текста в xml и запись в файл.

Сообщение voleja »

спасибо, но


Цитата Kazun:





HTML код:

Код: Выделить всё

Select-Xml -path *.xml "//PROPERTIES" | Foreach {$_.Node.Property."#text" -join ","} | Out-File resilt.csv



PowerShell - [решено] Поиск текста в xml и запись в файл.




и


Цитата Georgio:





HTML код:

Код: Выделить всё

gci 'B:\20150415\*.xml'|%{([xml](gc $_.fullname)).SelectNodes('//PROPERTY').InnerText -join ';'}|Out-File 'example.csv'



PowerShell - [решено] Поиск текста в xml и запись в файл.




не решают задачи, т. к выгружают не по формату, а выгружают все - весь текст, можно их привести к поиску и записи в файл только значений в секциях и и записать в csv в виде

1;Andrew

105;Andy

найденные значения и из каждого файла в одной строке с разделителем, следующие значения, найденные в другом файле - переход на др. строку?
Аватара пользователя
Georgio

Re: PowerShell - [решено] Поиск текста в xml и запись в файл.

Сообщение Georgio »

Цитата voleja:



не решают задачи, т. к выгружают не по формату, а выгружают все - весь текст, можно их привести к поиску и записи в файл только значений в секциях и и записать в csv в виде

1;Andrew

105;Andy
PowerShell - [решено] Поиск текста в xml и запись в файл.






Обновите PowerShell до версии 4.0. Другие версии я не поддерживаюИзображение.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»