Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [Python] Подскажите элегантное решение задачи загрузки xml в словарь  (Прочитано 1410 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн VitalD

  • Автор темы
  • Активист
  • *
  • Сообщений: 509
    • Просмотр профиля
Добрый всем день!  :)
Идея кажется банальной и тривиальной, но с парсингом xml ни разу еще не сталкивался.
Поисковик прошерстил, но, кажется, формулирую запрос неправильно, ибо нашел всего один проект, который напрочь валиться при попытке выполнить обозначенную задачу.
Заранее оговорюсь, что файлы небольшие, ибо это fb2-книги.
В будущем планирую заняться разработкой дополнения для Caja (Nautilus), которое будет выдергивать обложки из fb2-книг и прицеплять их в виде значков, в общем, простой "tumbmaker", на вроде тех, что существуют для видео-файлов. Также обозначу среди идей создание дополнительной вкладки в файловом браузере с информацией о fb2 файле.  :)
Ребят, уповаю на ваши познания, уверен среди питонистов найдётся кто-то осведомленный в вышеизложенных вопросах.

Оффлайн tagezi

  • Активист
  • *
  • Сообщений: 359
    • Просмотр профиля
    • Информатика в экономике и управлении
Добрый всем день!  :)
Идея кажется банальной и тривиальной, но с парсингом xml ни разу еще не сталкивался.
Поисковик прошерстил, но, кажется, формулирую запрос неправильно, ибо нашел всего один проект, который напрочь валиться при попытке выполнить обозначенную задачу.
Заранее оговорюсь, что файлы небольшие, ибо это fb2-книги.
В будущем планирую заняться разработкой дополнения для Caja (Nautilus), которое будет выдергивать обложки из fb2-книг и прицеплять их в виде значков, в общем, простой "tumbmaker", на вроде тех, что существуют для видео-файлов. Также обозначу среди идей создание дополнительной вкладки в файловом браузере с информацией о fb2 файле.  :)
Ребят, уповаю на ваши познания, уверен среди питонистов найдётся кто-то осведомленный в вышеизложенных вопросах.
Почему не начать отсюда?
Тем более, у вас далеко идущие планы )
ASUS K53E, intel i5, 8 Gb, Integrated Intel® GMA HD
wiki LibreOffice
справка LibreOffice

Оффлайн VitalD

  • Автор темы
  • Активист
  • *
  • Сообщений: 509
    • Просмотр профиля
tagezi,
Ох, да вы меня в океан без спасательного круга выбрасываете.  По ссылке слишком много всего, и я бы обязательно набрел и на документацию, но, боюсь всё затянется, иначе не просил бы "элегантное решение" конкретной задачи  :)
Планы хоть и далеко идущие, но настолько углубляться я пока не планировал.
Думаю, пока освоить первый пункт - разбор fb2 и представление его в удобном для меня виде. Конечно, если никто не отговорит, представив что-то более удобное.  :)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Самой удобной считается библиотека lxml.
http://lxml.de/tutorial.html
А если нужно парсить html, то удобнее использовать библиотеку pyquery.
Это парсинг в стиле jquery.

Оффлайн VitalD

  • Автор темы
  • Активист
  • *
  • Сообщений: 509
    • Просмотр профиля
alexander.pronin,
tagezi,
Ребят, спасибо за ссылки.
В итоге, остановился на lxml. Посчитав туторил на оф.сайте библиотеки слишком скучным, обратился к другому, показавшемуся мне более наглядным и простым: http://infohost.nmt.edu/tcc/help/pubs/pylxml/web/index.html
Теперь остались только вопросы, касательно интеграции приложений в caja, но для этого, скорее всего, придется начинать новую тему.

Оффлайн Grigory Smirnov

  • Старожил
  • *
  • Сообщений: 1339
  • Дайте мне исходники, и я переверну Землю.
    • Просмотр профиля
    • Дафтер
VitalD, если вы и дальше всю официальную документацию будете считать скучной, то ничего хорошего это не принесет.

Оффлайн VitalD

  • Автор темы
  • Активист
  • *
  • Сообщений: 509
    • Просмотр профиля
Grigory Smirnov,
(Нажмите, чтобы показать/скрыть)
Кстати говоря, в итоге все уместилось в 27 строчек, ибо не комбайн, а простой "выдергивальщик обложек". :D
(Нажмите, чтобы показать/скрыть)

 

Страница сгенерирована за 0.031 секунд. Запросов: 26.