我試圖(和失敗)從一個JBoss 6.2 domain.xml文件中註釋掉HornetQ的配置,而不是圍繞插入我想刪除節評論,我要管理刪除文件中的所有內容。使用Python註釋掉XML
我到目前爲止的代碼是
from xml.dom import minidom
import os, time, shutil
domConf=('/home/test/JBoss/jboss-eap-6.2/domain/configuration/domain.xml')
commentSub=('urn:jboss:domain:messaging:1.4')
now=str(int(time.time()))
bkup=(domConf+now)
shutil.copy2(domConf, bkup)
xmldoc = minidom.parse(domConf)
itemlist = xmldoc.getElementsByTagName('subsystem')
for s in itemlist:
if commentSub in s.attributes['xmlns'].value:
s.parentNode.insertBefore(xmldoc.createComment(s.toxml()), s)
file = open(domConf, "wb")
xmldoc.writexml(file)
file.write('\n')
file.close()
配置我想註釋掉是 -
<subsystem xmlns="urn:jboss:domain:messaging:1.4">
<hornetq-server>
<persistence-enabled>true</persistence-enabled>
<journal-type>NIO</journal-type>
<journal-min-files>2</journal-min-files>
<connectors>
[....]
</pooled-connection-factory>
</jms-connection-factories>
</hornetq-server>
</subsystem>
謝謝!
請說清楚,什麼是原始文件,你能指望什麼輸出? – Skyler
domain.xml文件的大小大於30K,因此發佈整個內容並沒有多大意義,但是我試圖做的是找到包含urn的jboss:domain:messaging:1.4的XML節,然後插入註釋整個事情,所以< - <子系統的xmlns =! 「甕:JBoss的:域:短信:1.4」> <啓用持久性>真正啓用持久性> [.... ] 池連接工廠> JMS-連接工廠> HornetQ的服務器> - > –
BenH