默認狀況下,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>標籤中的空格被刪除