我正在使用ElementTree
修改以下xml:
<li>
<p>Some stuff goes in <b>bold</b> here </p>
</li>
我想从<p>
元素中删除所有<li>
但保留内容。
像这样:
<li>Some stuff goes in <b>bold</b> here</li>
我目前正在使用以下代码,它在简单的情况下工作(没有文本/尾部等等):
# strip <p> from <li> elements
liElements = rootNode.findall('.//li')
for elem in liElements:
para = elem.find(".//p")
for child in para:
elem.append(child)
elem.text = para.text
elem.remove(para)
必须有一种更简单的方法来剥离格式化标签....我希望?
答案 0 :(得分:0)
也许最简单的方法是不使用ElementTree来处理HTML,而是使用BeautifulSoup代替;该库通过.unwrap()
method明确处理展开:
for elem in soup.find_all('li'):
for para in elem.find_all('p'):
para.unwrap()