Ste*_*ica 29 python lxml elementtree
当谈到在Python生成XML数据,还有我经常看到推荐的两个库:LXML和ElementTree的
据我所知,这两个库彼此非常相似.它们似乎都具有类似的模块名称,使用指南和功能.甚至导入语句也非常相似.
# Importing lxml and ElementTree
import lxml.etree
import xml.etree.ElementTree
Run Code Online (Sandbox Code Playgroud)
Python的库lxml和ElementTree库之间有什么区别?
Par*_*ait 21
ElementTree内置了Python标准库,其中包含其他数据模块类型,如json和csv.这意味着该模块随每个Python安装一起提供.对于大多数普通的XML操作,包括构建文档树和简单搜索和解析元素属性和节点值,甚至是名称空间,ElementTree都是一个可靠的处理程序.
Lxml是需要安装的第三方模块.在许多方面,lxml实际上扩展 ElementTree了内置模块中的大多数操作都可用.这个扩展中的主要是lxml支持XPath 1.0和XSLT 1.0.此外,lxml可以解析不符合XML的HTML文档,因此可用于Web抓取操作,甚至可用作BeautifulSoup中的解析器和Pandas中的引擎pandas.read_html().lxml的其他有用的常见功能包括pretty_print输出objectify和sax支持.当然,与标准库相比,第三方模块也可以轻松访问具有附加功能的版本.