美文网首页
python对xml的操作

python对xml的操作

作者: SeekLife0 | 来源:发表于2021-09-14 17:54 被阅读0次

    环境:win10,python2.7.15

    举例一:

    <?xml version="1.0" encoding="utf-8"?>
    <content>
        <entries>
            <entry ID="01">1111</entry>
        </entries>
    </content>
    
    

    1、python对xml的写操作

    # 1. 创建dom树对象
    domTree = minidom.Document()
    # 创建根节点并添加到dom树
    rootNode = domTree.createElement('content')
    domTree.appendChild(rootNode)
    # 创建entries节点
    entries_node = domTree.createElement('entries')
    # 新建一个entry节点
    entry_node = domTree.createElement("entry")
    # 设置属性
    entry_node.setAttribute("ID", "01")
    # 创建文本节点
    entry_text_value = domTree.createTextNode("1111")  
    # 把文本节点挂载到entry节点
    entry_node.appendChild(entry_text_value)
    # 把子节点放入到父节点
    entries_node.appendChild(entry_node)
    # 把创建号的节点写入到文件
    with open(fileName, 'wb') as f:
    # 缩进 - 换行 - 编码
    # indent='', addindent='\t',newl ='\n'
    domTree.writexml(f, addindent='\t', newl='\n', encoding="utf-8")
    

    2、python对xml的读操作

    # 得到domTree对象
    domTree = parse(u'data.xml')
    # 文档根元素
    rootNode = domTree.documentElement
    # 获取所有entry
    entries = rootNode.getElementsByTagName("entry")
    # 遍历所有entry
    for entry in entries:
      # 获取属性
      attr = entry.getAttribute("ID")
      # 获取entry文本内容
      text = entry.firstChild
    

    举例二:

    <?xml version="1.0" encoding="utf-8"?>
    <content>
        <entries>
            <entry ID="1">
                <username>xiaoming</username>
                <password>123456</password>
            </entry>
        </entries>
    </content>
    

    1、python对xml写操作

    基本同上

    2、python对xml读操作

    # 得到domTree对象
    domTree = parse(u'data.xml')
    # 文档根元素
    rootNode = domTree.documentElement
    # 获取所有entry
    entries = rootNode.getElementsByTagName("entry")
    # 遍历所有entry
    for entry in entries:
      # 获取username的文本
      uname = entry.getElementsByTagName("username")[0].firstChild.data
      # 获取password的文本
      password = entry.getElementsByTagName("password")[0].firstChild.data
    

    相关文章

      网友评论

          本文标题:python对xml的操作

          本文链接:https://www.haomeiwen.com/subject/fjvcgltx.html