尝试该
lxml库:它遵循ElementTree
api,并添加了许多附加功能。从兼容性概述:
当解析XML时,ElementTree会忽略注释和处理指令,而etree会读取它们并将它们分别视为Comment或ProcessingInstruction元素。在文本内容中找到注释的地方,然后由Comment元素拆分注释时,这一点尤其明显。
您可以通过将布尔值
remove_comments和/或remove_pis关键字参数传递给您使用的解析器来禁用此行为。为了方便起见并支持可移植代码,您还可以使用etree.ETCompatXMLParser代替defaultetree.XMLParser。它尝试提供一个尽可能接近ElementTree解析器的默认设置。
我知道不是在stdlib中,而是根据我的经验,当您需要标准ElementTree不提供的东西时最好的选择。



