Comments: |
я не знаю что нужно получить в итоге, но из xml можно сделать практически все что угодно с помощью xslt. поседеешь правда пока его отладишь, но вещь в принципе не сложная. я в свое время с его помошью данные из таблиц в ворде доставал с довольно сложным разбиением на ячейки.
Ключевое слово -- визуальная (и интерактивная). Ткнул туда, ткнул сюда, неправильно расставилось -- поправил.
а где оно падает, уже на импорте большого xml ? какая версия Excel ?
2010, дело не в большом, а в том, что схемы нет, он говорит -- создавать будем? я ему -- ага, и тут он -- брык.
Я такое делаю через препроцессинг через XSLT и затем уже в ексель. Тогда ничего не падает. А препроцессинг элементарный - просто записываются построчно интересующие узлы с атрибутами. Т.е. из исходного XML вычищается всякий мусор типа пространств имен, лишних узлов, комментариев и прочей крови/кишок/расчлененки.
Насчет ебанистического размера XML не уверен, у меня максимум на несколько гигов попадалось. К сожалению, все известные мне процессоры XSLT строят DOM (не умеют работать как SAX), так что лимит размера файла есть - по размеру доступной памяти. Пока вкладываюсь.
![[User Picture]](https://l-userpic.livejournal.com/48312785/7726370) | From: _slw 2012-08-28 02:58 pm (UTC)
| (Link)
|
потому что надо perl использовать а не гланды автогеном пытаться удалять.
после коммента _slw подписался и взял попкорн
после ваших я пожалуй тоже тут потусуюсь. :)
![[User Picture]](https://l-userpic.livejournal.com/526381/205990) | From: msh 2012-08-28 03:26 pm (UTC)
| (Link)
|
Посоветую Perl, Python или хотя бы PHP. И парсить там XML-и во что угодно.
Без всяких кавычек и экранирований, потому что там есть нормальные парсеры и XSLT
И написав скрипт один раз можно использовать его всю жизнь, а ковыряться с визуальными фигнями для каждого файла
![[User Picture]](https://l-userpic.livejournal.com/28931113/622020) | From: dma 2012-08-28 05:42 pm (UTC)
| (Link)
|
Я тоже соглашусь, что сначала надо перевести данные в менее богомерзкий формат, а уже потом можно чем угодно, хоть экселем, хоть в rrdtool, хоть в MS DTS.
![[User Picture]](https://l-userpic.livejournal.com/28931113/622020) | From: dma 2012-08-28 05:43 pm (UTC)
| (Link)
|
И перевести, естественно, перлом (или другим скриптовым языком, имеющим готовый XML-парсер в составе)
если надо много работать с XML, то стоит изучить его родной awk/grep, он называется XSLT. Писать руками XSLT - это жопа, поэтому с XSLT надо ознакомится чисто поверхостно, что бы потом использовать его врапперы. С самим XSLT - поверхостно, а с XPath - поглубже, потому что XPath для XML - это тоже что grep для текстовых файлов. Я для парсинга xml из комадной строки использую xmlstarlet, он хорошо сочетатся с xargs, awk и тп. Задачи "выцепить такие-то поля из xml-ки" решаются однострочником на bash, типа таких - http://users.livejournal.com/_winnie/275520.html - svn stat --xml | xmlstar sel -t -m "/status/target/entry/@path" -v . -nXML - довольно популярный формат, поэтому XPath - полезное инвестирование времени, потом можно применять для кучи приложений. Например, перегонять чужие отчеты из html в XHtml и дальше выцеплять из них данные как из XML при помощи XPath. Кстати, код awk можно выносить в *.awk файлы, а не эмбедить его в шелл, тогда гораздо меньше проблем с экранированием, и редактор текста даёт подсветку синтаксиса. Edited at 2012-08-28 06:39 pm (UTC)
![[User Picture]](https://l-userpic.livejournal.com/5585077/904690) | From: kika 2012-08-28 07:05 pm (UTC)
Re: XPath | (Link)
|
+1 к xmlstarlet, без него жизни нет.
"визуальная тулза"? тебя mds таки покусал?
я обычно просто беру перл или питон и пишу конвертер.
зачем тебе там xml если у тебя плоская таблица? или оно режется на несколько таблиц?
> взять, скажем, ебанистического размера отчет Nessus'а и сделать из него что-нибудь полезное. http://www.splunk.com/download?r=headerДо 500 мегабайт логов в день - бесплатно можно пользоваться...
О, а он и для этого годится? Интересно.
А можно я сюда с ынтерпрайзом вломлюсь? Знаешь страшные слова WebSphere Message Broker от IBM! Там любые форматы (включая XML) парсить и преобразовывать самое оно!
![[User Picture]](https://l-userpic.livejournal.com/30455555/7269715) | From: stimur 2012-08-29 02:53 am (UTC)
Это старость, Маугли ... | (Link)
|
не хочется бороться, бодаться, копаться и настраивать. А хочется чтобы просто в гуи и все решено, ибо запарило возиться со всеми этими настройками и аргументами ...
![[User Picture]](https://l-userpic.livejournal.com/70977836/7269715) | From: stimur 2015-08-28 09:19 pm (UTC)
Re: Это старость, Маугли ... | (Link)
|
Спустя три года: импортируй CSV в ElasticSearch и визуализируй до посинения Кибаной :)
Perl — Practical Extraction and Report Language — "практический язык для извлечения данных и составления отчётов". Как бы, язык изначально разрабатывался для того чтобы парсить txt и csv, и упихивать их в удобоваримый формат. | |