python对 xml 格式文件操作之 minidom (附简易解决方案 1.minidom读取后写入多余空行问题 2. 标签内属性自动排序问题 3. import 导包报错)

本文介绍了Python的minidom库在处理XML文件时遇到的常见问题,包括写入文件时标签属性自动排序和多余空行问题,并提供了相应的解决方案。此外,还讨论了在导入模块时可能出现的错误及解决办法。
摘要由CSDN通过智能技术生成

1. minidom 基础操作

1.1 minidom 生成 xml 文件操作

下面示例通过 minidom 首先创建根节点, 之后在根节下添加对应的子节点, 节点名字通过 dom.createElement('xxx') 命名, 节点属性可通过 node.setAttribute('key', 'value') 添加, 其次文本节点在示例中也有体现

def gen_xml_file(output_dir, name):
    # 1.创建DOM树对象
    dom = minidom.Document()
    # 2.创建根节点。每次都要用DOM对象来创建任何节点。
    root_node = dom.createElement('books')
    # 3.用DOM对象添加根节点
    dom.appendChild(root_node)

    # 用DOM对象创建元素子节点
    book_node = dom.createElement('book')
    # 用父节点对象添加元素子节点
    root_node.appendChild(book_node)

    # 设置该节点的属性
    book_node.setAttribute('name', '剑来')
    character_node = dom.createElement('character')
    book_node.setAttribute('category', '仙侠')
    book_node.setAttribute('author', "烽火戏诸侯")
    book_node.appendChild(character_node)
    
    # 也用DOM创建文本节点,把文本节点(文字内容)看成子节点
    character_text = dom.createTextNode("陈平安")
    # 用添加了文本的节点对象(看成文本节点的父节点)添加文本节点
    character_node.appendChild(character_text)
    instruction_node = dom.createElement('instruction')
    level_node = dom.createElement('level')
    level_text = dom.createTextNode
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值