【发布时间】:2014-01-08 14:44:37
【问题描述】:
我正在尝试(但失败)从 JBoss 6.2 domain.xml 文件中注释掉 HornetQ 配置,而不是在我要删除的节周围插入注释,我正在设法删除文件中剩余的所有内容.
我目前的代码是
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>
谢谢!
【问题讨论】:
-
请说清楚什么是原始文件,你希望输出什么?
-
domain.xml 文件的大小 >30K,因此发布整个内容并没有多大意义,但是我试图做的是找到包含 urn:jboss:domain:messaging 的 XML 节: 1.4 然后在整个事情周围插入注释,所以