1. Введение: Python и XML

Благодаря постоянному развитию как Python, так и XML, существует множество пакетов, которые помогают вам читать, генерировать и изменять XML-файлы из сценариев Python. По сравнению с большинством из них пакет lxml имеет два больших преимущества:

  • Производительность. Чтение и запись даже довольно больших файлов XML занимает почти незаметное количество времени.
  • Простота программирования. Пакет lxml основан на ElementTree, который Fredrik Lundh изобрел, чтобы упростить и оптимизировать обработку XML.

lxml во многом похож на два других, более ранних пакета:

  • Fredrik Lundh продолжает поддерживать свою первоначальную версию ElementTree.
  • xml.etree.ElementTree теперь является официальной частью библиотеки Python. Существует C-языковая версия cElementTree, которая может быть даже быстрее, чем lxml для некоторых приложений.

Однако автор предпочитает lxml из-за наличия ряда дополнительных функций, которые облегчают жизнь. В частности, поддержка XPath значительно упрощает управление более сложными структурами XML.