以下脚本使用
xml.dom.minidom并包含用于注释和取消注释节点的功能:
from xml.dom import minidomxml = """<target depends="create-build-dir" name="build-Folio"> <property name="project.name" value="Folio"/> <ant antfile="build.xml" dir="Folio/FolioUI" inheritall="false" target="package"/> <ant antfile="build.xml" dir="Folio/Folio" inheritall="false" target="package"/></target>"""def comment_node(node): comment = node.ownerdocument.createComment(node.toxml()) node.parentNode.replaceChild(comment, node) return commentdef uncomment_node(comment): node = minidom.parseString(comment.data).firstChild comment.parentNode.replaceChild(node, comment) return nodedoc = minidom.parseString(xml).documentElementcomment_node(doc.getElementsByTagName('ant')[-1])xml = doc.toxml()print 'comment_node():n'print xmlprintdoc = minidom.parseString(xml).documentElementcomment = doc.lastChild.previousSiblingprint 're-parsed comment:n'print comment.toxml()printuncomment_node(comment)print 'uncomment_node():n'print doc.toxml()print输出:
comment_node():<target depends="create-build-dir" name="build-Folio"> <property name="project.name" value="Folio"/> <ant antfile="build.xml" dir="Folio/FolioUI" inheritall="false" target="package"/> <!--<ant antfile="build.xml" dir="Folio/Folio" inheritall="false" target="package"/>--></target>re-parsed comment:<!--<ant antfile="build.xml" dir="Folio/Folio" inheritall="false" target="package"/>-->uncomment_node():<target depends="create-build-dir" name="build-Folio"> <property name="project.name" value="Folio"/> <ant antfile="build.xml" dir="Folio/FolioUI" inheritall="false" target="package"/> <ant antfile="build.xml" dir="Folio/Folio" inheritall="false" target="package"/></target>



