Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Logparser выбор и сравнение полей из xml файлов

Ответить
Настройки темы
Любой язык - [решено] Logparser выбор и сравнение полей из xml файлов

Новый участник


Сообщения: 28
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: gremlintv2
Дата: 23-08-2016
Вроде как немного волоку в sql запросах, но немного погуглив и почитав примеры работы с Logparseroм, решил не экспериментировать, а спросить знающих людей итак тз:
Есть xml файлы, внутри кракозябры и поля типа <FILENAME>,<SOFTWARE> ,<DOCTYPE> и мн.др.
Мне нужно, чтобы Logparser выбрал значения этих полей, с привязкой к названию файла, например:

1.xml

<FILENAME>file1</FILENAME>
<SOFTWARE>soft1</SOFTWARE>
<DOCTYPE>type1</DOCTYPE>

2.xml

<FILENAME>file2</FILENAME>
<DOCTYPE>type2</DOCTYPE>

результат

FILE FILENAME SOFTWARE DOCTYPE
1___file1_____soft1_____ type1
2___file2______________type2


Пробовал выбирать ставя тип лога "XMLLOG" - выдает ошибку(не в конкретном примере, а с моими xml файлами): "В текстовом комментарии обнаружен недопустимый знак"
Пробовал выбирать ставя тип лога "TEXTLINELOG" :
SELECT Text FROM 'C:\\222\*.xml' where Text like '%FILENAME%' тут все отлично выбирает, но как теперь выбрать несколько разных полей, если на такие конструкции:
Скрытый текст
select filename.*, soft.* from
(SELECT Filename,Text FROM 'C:\\222\*.xml' where Text like '%FILENAME%') filename ,
(SELECT Filename,Text FROM 'C:\\222\*.xml' where Text like '%SOFT%') soft
where filename.Filename=soft.Filename(+)

выбивает ошибки, в то время как sql навигатор в коммандах подобного вида ничего "странного" не видит...
А еще нужно к названию файла привязаться, как-то SUBSTR по скобках ("<",">") сделать и вывести в csv.
Очень надеюсь, что мою тему увидит и прокомментирует, пользователь с ником "Iska", так как я понял - он с этим парсером на "ты". Пробовал ему в ЛС написать, но там ограничения, видимо от таких назойливых как я. А так как этот парсер с урезаным sql, то при попытке что-то выбрать, возникает ощущение "игры в сапера на повышеной сложности" .
Просмотрел 2-3 страницы по поиску "Logparser", но ответа или зацепки на свои запросы так и не нашел, на "stackoverflow" и в англоязычных примерах в большинстве встречаются запросы к win'довым журналам и запросы
html-страниц. =(.

Отправлено: 23:52, 22-08-2016

 

Новый участник


Сообщения: 28
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата:
Я предварительно очистил файлы от «бинарщины» и тем самым привёл их к корректному xml-виду
Значить лог-парсеру эта бинарщина не по зубам и нужно прибегать к использованию batников для очистки, как я это понял.
Цитата:
а я не вижу, поскольку Вы не отвечаете на заданный вопрос. Ей-богу, нет ни малейшего желания выцарапывать из Вас детали по кусочкам и за каждым разом всё переделывать заново.
Значит буду пробовать парсить на powershell, предварительно, задав значения всех возможных тегов. Так как лог-парсер для таких манипуляций - как выбор всех уникальных значений тегов в одну строку и подставление значение этих тегов, относительно имен файлов, мало пригоден, как я это понял, на своем хоть и маленьком, но довольно не вдохновляющем опыте при работе с этим инструментом.

Отправлено: 11:38, 23-08-2016 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата gremlintv2:
Значить лог-парсеру эта бинарщина не по зубам »
Ага.

Цитата gremlintv2:
и нужно прибегать к использованию batников для очистки, как я это понял. »
Нет, пакетному файлу это тоже будет «не по зубам». WSH/PoSH — как, например, это сделано у коллеги Kazun в последнем коде.

Цитата gremlintv2:
Так как лог-парсер для таких манипуляций - как выбор всех уникальных значений тегов в одну строку и подставление значение этих тегов, относительно имен файлов, мало пригоден, как я это понял, на своем хоть и маленьком, но довольно не вдохновляющем опыте при работе с этим инструментом. »
Вполне пригоден, только не из командной строки, а посредством Automation на тех же WSH/PoSH, что позволяет предварительно получать из мешанины внутри файла корректный xml и работать уже с ним.

Вы таки расскажете про конечный результат, про глобальную Вашу цель этих манипуляций, а?

Отправлено: 11:45, 23-08-2016 | #12


Новый участник


Сообщения: 28
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата:
Вы таки расскажете про конечный результат, про глобальную Вашу цель этих манипуляций, а?
Ну скажем так: уж точно не замена хостов, и не написание вирусов))).
Все вполне легально, и файлы эти я тащу из открытого доступа,а не со взломанных аккаунтов.
Просто работа у меня такая - что иногда приходиться искать обходные пути и делать все, пардон, "через одно место".

Отправлено: 11:54, 23-08-2016 | #13


Новый участник


Сообщения: 28
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата:
Разбор, как xml на PowerShell:
Большое спасибо работает!
А не подскажете новичку, каким образом вместо .PadLeft(10,";") можно просто добавить один символ справа ";" (если количество символов в строке динамическое)?

Отправлено: 14:28, 23-08-2016 | #14


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
PS (STA) > "{0};{1};{2};{3}" -f "a","b","c","d"
a;b;c;d
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:33, 23-08-2016 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Logparser выбор и сравнение полей из xml файлов

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Извлечение данных из набора xml файлов irgen Скриптовые языки администрирования Windows 2 29-10-2013 15:53
Любой язык - Сравнение списка файлов и каталога с файлами с копированием файлов из каталога jastreb83 Скриптовые языки администрирования Windows 0 10-04-2013 09:56
CMD/BAT - [решено] Сравнение файлов и замена значения из одного файла в другой. Aleks911tat Скриптовые языки администрирования Windows 12 25-08-2012 22:27
CMD/BAT - [решено] Выбор файлов из списка с последующим копированием и переносом в другую папку yaoleg2 Скриптовые языки администрирования Windows 10 04-11-2011 01:28
Сравнение и выбор ПО для сервака kub-lg Программное обеспечение Windows 9 10-05-2007 10:53




 
Переход