zoukankan      html  css  js  c++  java
  • python 读取xml文件

    首先,获得标签信息abc.xml

    <?xml version="1.0" encoding="utf-8"?>
    <catalog>
        <maxid>4</maxid>
        <login username="pytest" password="123456">
            <caption>Python</caption>
            <item id="4">
                <caption>Testing</caption>
            </item>
        </login>
        <item id="2">
            <caption>Zope</caption>
        </item>
    
    </catalog>

    python获取catalog标签的信息

    # -*- coding:utf-8 -*-
    
    import xml.dom.minidom
    
    # 打开xml文档
    dom = xml.dom.minidom.parse('abc.xml')
    
    # 得到文档元素对象
    root = dom.documentElement
        print root.nodeName
        print root.nodeValue
        print root.nodeType
        print root.ELEMENT_NODE

    xml.dom.minidom 模块被用来处理xml文件

    parse():用于打开一个xml文件

    documentElement:用于得到dom对象的文档元素,并将获得的对象给root,每一个结点都有它的nodeName,nodeValue,nodeType属性

    nodeName:结点名字

    nodeValue:结点值,只对文本结点有效

    nodeType:结点类型

    二、获得子标签:

    <maxid>
    <login>
    import xml.dom.minidom
    
    dom = xml.dom.minidom.parse('abc.xml')
    
    root = dom.documentElement
    
    bb = root.getElementsByTagName('maxid')
    bb = bb[0]
    print bb.nodeName
    
    bb = root.getElementsByTagName('login')
    bb = bb[0]
    print bb.nodeName

    三、区分相同标签名字的标签

    <caption>
    <item>
    import xml.dom.minidom
    
    # 打开xml文档
    dom = xml.dom.minidom.parse('abc.xml')
    
    # 得到文档元素对象
    root = dom.documentElement
    
    aa = root.getElementsByTagName('caption')
    a = aa[2]
    print a.nodeName
    
    aa = root.getElementsByTagName('item')
    a = aa[1]
    print a.nodeName

    root.getElementsByTagName('caption')获得的标签是caption一组标签

    四、获得标签的属性值

    username="pytest" password="123456"
    id="4"
    id="2"
    import xml.dom.minidom
    
    # 打开xml文档
    dom = xml.dom.minidom.parse('abc.xml')
    
    # 得到文档元素对象
    root = dom.documentElement
    
    #  获取标签的属性值
    itemlist = root.getElementsByTagName('login')
    item = itemlist[0]
    un = item.getAttribute('username')
    print un
    
    pd = item.getAttribute('password')
    print pd
    
    ii = root.getElementsByTagName('item')
    i1 = ii[0]
    i = i1.getAttribute('id')
    print i
    
    i2 = ii[1]
    i = i2.getAttribute('id')
    print i

    五、获得标签对之间的数据

     <caption>Python</caption>
     <caption>Testing</caption>
    <caption>Zope</caption>
    import xml.dom.minidom
    
    # 打开xml文档
    dom = xml.dom.minidom.parse('abc.xml')
    
    # 得到文档元素对象
    root = dom.documentElement
    
    cc = dom.getElementsByTagName('caption')
    c1 = cc[0]
    print c1.firstChild.data
    
    c2 = cc[1]
    print c2.firstChild.data
    
    c3 = cc[2]
    print c3.firstChild.data
  • 相关阅读:
    MYSQL查询和插入数据的流程是怎样的
    Nacos服务心跳和健康检查源码介绍
    Nacos使用和注册部分源码介绍
    实用程序包utils
    SOLID原则
    前端实用程序包utils
    实现 strStr()
    记一次华为机试
    十分钟入门 Python 教程
    字符串转换整数 (atoi)
  • 原文地址:https://www.cnblogs.com/xiaobucainiao/p/6184443.html
Copyright © 2011-2022 走看看