python写xml文件_用python写xml文件

def writeInfoToXml(filename, config_id, obj_name):

from xml.dom.minidom import Document

'''

eg:

Web Servers

Denial of Service

General

'''

# 创建dom文档

doc = Document()

# 创建根节点

modify_node = doc.createElement('modify_config')

# 修改或添加节点中元素内容

modify_node.setAttribute("config_id", config_id)

# 根节点插入dom树

doc.appendChild(modify_node)

# 每一组信息先创建节点,然后插入到父节点下

nvtSlect = doc.createElement('nvt_selection')

modify_node.appendChild(nvtSlect)

# 从数据库查询需要扫描的项

vulnerData = nova_get_vulnerdata_from_db(obj_name)

# 依次将vulnerData中的每一组元素提取出来,创建对应节点并插入dom树

for idx, sub_data in enumerate(vulnerData):

for name, oid_list in sub_data.items():

# 创建节点

family = doc.createElement('family')

# 创建下的文本节点

family_text = doc.createTextNode(name)

# 将文本节点插入到下

family.appendChild(family_text)

# 将插入到父节点下

nvtSlect.appendChild(family)

for oid in oid_list:

# 创建nvt节点

nvt_node = doc.createElement('nvt')

# 修改或添加节点中元素内容

nvt_node.setAttribute("oid", oid)

# 将nvt节点插入到父节点nvtSlect

nvtSlect.appendChild(nvt_node)

cmd = "rm -rf {}".format(filename)

subprocess.check_output(cmd, shell=True)

# 将dom对象写入本地xml文件

with open(filename, 'w') as f:

doc.writexml(f, indent='',addindent='\t',newl='\n',encoding='UTF-8')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值