其他分享
首页 > 其他分享> > 如何注释掉XML元素(使用minidom DOM实现)

如何注释掉XML元素(使用minidom DOM实现)

作者:互联网

我想在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()

我想修改它,以便它注释掉元素而不是删除它.

解决方法:

以下解决方案完全符合我的要求.

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()

标签:python,xml,minidom
来源: https://codeday.me/bug/20190621/1255165.html