如何用Python中的新格式替换HTML元素

2024-09-29 00:14:41 发布

您现在位置:Python中文网/ 问答频道 /正文

替换HTML标记的好方法是什么:

Old : <div id=pgbrk" ....../>....Page Break....</div>

New : <!--page break -->

divid可能有许多其他值,因此regex不是一个好主意。我需要一些LXML之类的东西。基本上,我的问题是用字符串替换HTML标记!在


Tags: 方法标记dividnewhtmlpageold
2条回答

您可以使用普通DOMhttp://docs.python.org/library/xml.dom.minidom.html

1)解析源代码

from xml.dom.minidom import parse
datasource = open('c:\\temp\\mydata.xml')
doc= parse(datasource)

2)找到要删除的节点

^{pr2}$

3)找到目标节点后,用新的注释节点替换它们

parent = node.parentNode
parent.replaceChild(doc.createComment("page break"), node)

文件:http://docs.python.org/library/xml.dom.html

只要div有父标记,就可以执行以下操作:

import lxml.html as LH
import lxml.etree as ET

content='<root><div id="pgbrk" ......>....Page Break....</div></root>'
doc=LH.fromstring(content)
# print(LH.tostring(doc))    
for div in doc.xpath('//div[@id="pgbrk"]'):
    parent=div.getparent()
    parent.replace(div,ET.Comment("page break"))
print(LH.tostring(doc))

收益率

^{pr2}$

相关问题 更多 >