對象解析

默認狀況下,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>標籤中的空格被刪除
相關文章
相關標籤/搜索