![]() |
1
7
DOM/SAX划分是一个基本划分。它不仅适用于Python,因为DOM和SAX是跨语言的。 DOM :将整个文档读取到内存中并进行操作。 适用于:
萨克斯 :阅读时分析文档。适用于:
清汤 : 很适合HTML或者格式不太好的标记。使用方便,速度快。对于屏幕抓取等很好。它可以与基于XML的标记一起使用,而基于XML的标记只会通过错误地说标记是不正确的。 其余的大部分我都没用过,但我觉得在什么时候用哪一种并没有硬性规定。只是您的标准考虑:谁来维护代码,您认为最容易使用哪些API,它们的工作情况如何,等等。 一般来说,对于基本需求,使用标准库模块是很好的,因为它们是“标准”的,因此是可用的和众所周知的。但是,如果您需要深入研究一些东西,那么几乎总是会有新的非标准模块,它们在标准库之外具有卓越的功能。 |
![]() |
2
4
我发现
您提到的其他libs都是针对不同语言设计的模拟API,一般来说,我看不到任何理由将Python扭曲成这些旋转。如果您有非常具体的需求,例如对XSLT的支持、各种验证等,那么可能还值得四处寻找其他库,但是我已经很久没有这样的需求了,所以我不是最新的为它们提供的产品。 |
![]() |
3
1
对于许多问题,您可以通过XML来处理。它的主要优点是成为标准库的一部分。这意味着它几乎预先安装在每个系统上,并且接口是静态的。它不是最好的,也不是最快的,但它就在那里。 对于其他一切,都有lxml。具体来说,LXML最适合分析中断的HTML、XHTML或可疑源。它使用libxml2和libxslt处理xpath、xslt和exslt。教程很清楚,界面简单明了。所提到的其余库都存在,因为LXML在其当前表单中不可用。 这是我的意见。 |