我需要删除这种情况:
<text> </text>
我有没有空格的代码,但是如果有空格怎么办?
代码:
doc = etree.XML("""<root><a>1</a><b><c></c></b><d></d></root>""")
def remove_empty_elements(doc):
for element in doc.xpath('//*[not(node())]'):
element.getparent().remove(element)
我还需要使用lxml而不是BeautifulSoup。
此XPath,
//*[not(*)][not(normalize-space())]
将选择所有空间标准化字符串值为空的叶子元素。
对于您的示例,将选择这些节点:
<c></c>
<d></d>