对象解析

默认情况下,lxml.etree使用标准解析器

创建一个解析器,在解析时删除标记之间的空文本
如果事先知道纯空白内容对数据没有意义,则可以减小树的大小并避免尾部文本悬空

from lxml import etree

parser = etree.XMLParser(remove_blank_text=True)
root = etree.XML("<root>  <a/>   <b>  </b>     </root>", parser)
print(etree.tostring(root))  #输出:b'<root><a/><b>  </b></root>',<br>标签中的空格没有被删除,它被当做了数据

for element in root.iter("*"):
    if element.text is not None and not element.text.strip():
        element.text = None
etree.tostring(root) #输出:b'<root><a/><b/></root>',<br>标签中的空格被删除
原文地址:https://www.cnblogs.com/shiliye/p/11770426.html