您的位置:首页 > 编程语言 > Python开发

Commenting and uncommenting XML via Python

2013-12-05 18:13 447 查看
转载:

http://stackoverflow.com/questions/8764017/commenting-and-uncommenting-xml-via-python

fromxml.domimportminidom

xml="""\
<targetdepends="create-build-dir"name="build-Folio">
<propertyname="project.name"value="Folio"/>
<antantfile="build.xml"dir="Folio/FolioUI"inheritall="false"target="package"/>
<antantfile="build.xml"dir="Folio/Folio"inheritall="false"target="package"/>
</target>
"""

defcomment_node(node):
comment=node.ownerDocument.createComment(node.toxml())
node.parentNode.replaceChild(comment,node)
returncomment

defuncomment_node(comment):
node=minidom.parseString(comment.data).firstChild
comment.parentNode.replaceChild(node,comment)
returnnode

doc=minidom.parseString(xml).documentElement

comment_node(doc.getElementsByTagName('ant')[-1])

xml=doc.toxml()

print'comment_node():\n'
printxml
print

doc=minidom.parseString(xml).documentElement

comment=doc.lastChild.previousSibling

print're-parsedcomment:\n'
printcomment.toxml()
print

uncomment_node(comment)

print'uncomment_node():\n'
printdoc.toxml()
print

Output:


comment_node():<targetdepends="create-build-dir"name="build-Folio"><propertyname="project.name"value="Folio"/><antantfile="build.xml"dir="Folio/FolioUI"inheritall="false"target="package"/><!--<antantfile="build.xml"dir="Folio/Folio"inheritall="false"target="package"/>--></target>

re-parsedcomment:<!--<antantfile="build.xml"dir="Folio/Folio"inheritall="false"target="package"/>-->

uncomment_node():<targetdepends="create-build-dir"name="build-Folio"><propertyname="project.name"value="Folio"/><antantfile="build.xml"dir="Folio/FolioUI"inheritall="false"target="package"/><antantfile="build.xml"dir="Folio/Folio"inheritall="false"target="package"/></target>


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: