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.