我想在xml文件中注释掉特定的XML元素。我可以删除该元素,但我更愿意将其注释掉,以防以后需要。
我删除元素时使用的代码如下所示:
from xml.dom import minidom
doc = minidom.parse(myXmlFile)
for element in doc.getElementsByTagName('MyElementName'):
if element.getAttribute('name') in ['AttribName1', 'AttribName2']:
element.parentNode.removeChild(element)
f = open(myXmlFile, "w")
f.write(doc.toxml())
f.close()
我想修改它,以便它将元素注释掉而不是删除它。
答案 0 :(得分:5)
以下解决方案完全符合我的要求。
from xml.dom import minidom
doc = minidom.parse(myXmlFile)
for element in doc.getElementsByTagName('MyElementName'):
if element.getAttribute('name') in ['AttrName1', 'AttrName2']:
parentNode = element.parentNode
parentNode.insertBefore(doc.createComment(element.toxml()), element)
parentNode.removeChild(element)
f = open(myXmlFile, "w")
f.write(doc.toxml())
f.close()
答案 1 :(得分:0)
您可以使用beautifulSoup执行此操作。阅读目标代码,创建适当的评论标记和replace目标代码
例如,创建评论标记:
from BeautifulSoup import BeautifulSoup
hello = "<!--Comment tag-->"
commentSoup = BeautifulSoup(hello)