November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Friday, November 25th, 2005 12:37 pm
Задача: зачитать XML (лучше, если при этом будут допускаться небольшие ошибки в виде тегов, закрытых в неправильном порядке. или так не бывает?)
кое-что поудалять, для некоторых поддеревьев выколупать значения и выдать их наружу. В базу.
Всё, ничего более сложного не требуется.

Upd: xml - не самоцель, это промежуточный способ хранения данных, выколупанных из pdf. Если есть возможность работать непосредственно с pdf, то она тоже подойдёт.
Friday, November 25th, 2005 12:45 pm (UTC)
XML::LibXML
Friday, November 25th, 2005 01:15 pm (UTC)
> (лучше, если при этом будут допускаться небольшие ошибки в виде тегов, закрытых в неправильном порядке. или так не бывает?)

Так не бывает. А не проще написать xslt который будет генерить sql-скрипт, например?...
Friday, November 25th, 2005 01:22 pm (UTC)
Как это в духе XML - плодить ненужные сущности! xml, xslt потом sql скрипт вместо того чтоб просто освоить Perl.
Monday, November 28th, 2005 07:01 am (UTC)
Лично для меня перл - такая же ненужная сущность, как и xslt... :)
Friday, November 25th, 2005 01:28 pm (UTC)
я этот xml получил из pdf посредством pdftohtml. и оказалось, что там в некоторых местах b и i закрываются в неправильном порядке, отсюда и вопрос. Я не знаю, проблема ли это pdftohtml или внутри pdf ошибка, да это и не существенно, вообще говоря :)

Не, xslt совсем не проще, нужна довольно эвристическая обработка.
Friday, November 25th, 2005 03:02 pm (UTC)
Если тэги закрываются в неправильном порядке, то это что угодно, но не XML.
Friday, November 25th, 2005 03:09 pm (UTC)
Да я понимаю, но так уж склалось :)
Saturday, November 26th, 2005 12:29 pm (UTC)
...значит работать с этой разметкой как с xml сходу не получится.

Если то, что насоветовали будет валиться с ошибками (или потерей содержимого в теех местах где перепутаны теги), то прийдется искать что-то, чем можно ненапряжно пропарстть markup
Monday, November 28th, 2005 07:04 am (UTC)
хех :)
есть тулза которая из html xml делает... tiny называлась раньше...
Friday, November 25th, 2005 01:32 pm (UTC)
на search.cpan.org куча готовых модулей для парсинга. Если не ошибаюсь - есть несколько, которые делают из XML хеш хешей.

Для pdf там тоже что-то было, но что - не помню. в ru.perl (кажется)обсуждалось несколько месяцев назад, там говорили каким модулем работать удобнее всего.
Friday, November 25th, 2005 01:34 pm (UTC)
вот в том-то и проблема, что куча. а мне выбирать, что лучше, некогда. потому и спрашиваю, чем люди пользуются :)
Friday, November 25th, 2005 03:14 pm (UTC)
есть книжка O'Reilly Perl & XML чес-слово таи описано все чем можно пользоваться.
Friday, November 25th, 2005 03:24 pm (UTC)
Она, конечно, есть, но за 35 баксов и в Штатах..
Friday, November 25th, 2005 03:46 pm (UTC)
ты эта, не чуди... http://safari.oreilly.com 14 дней бесплатного чтения любой книги oreilly онлайн, да да и посик тоде рулит oreilly perl xml pdf
Friday, November 25th, 2005 03:30 pm (UTC)
Нашёл за бесплатно. Спасибо, буду читать.
Friday, November 25th, 2005 02:06 pm (UTC)
expat - стандартная c-библиотека с простым api.
Friday, November 25th, 2005 02:19 pm (UTC)
спасибо, c не пойдёт. меня эффективность не волнует, мне надо быстро написать.
Friday, November 25th, 2005 03:20 pm (UTC)
XML::Simple
Monday, November 28th, 2005 12:48 am (UTC)
Как оказалось - не катит. Там порядок узлов не сохраняется, потому что они складываются не в массив, а в хэш.
Friday, November 25th, 2005 02:07 pm (UTC)
XML::Simple - прост как палка, есть пару фишек, может хватит, фроненд к другим
XML::Parser - первый и самый неюзабельный, идёт с пёрлом
XML::SAX - фронтенд к саксу, говят гуть