对象解析

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

建立一个解析器,在解析时删除标记之间的空文本
若是事先知道纯空白内容对数据没有意义,则能够减少树的大小并避免尾部文本悬空code

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>标签中的空格被删除
相关文章
相关标签/搜索