zoukankan      html  css  js  c++  java
  • Python 解析Xml文件

    python引入minidom 解析xml文件,下面是具体实例

    <?xml version="1.0" encoding="utf-8" ?>
    <info>
            <base>
            <platform>Windows</platform>
                <browser>Firefox</browser>
                <url>http://www.baidu.com</url>
                   <login username="admin" password="123456"/>
                   <login username="guest" password="654321"/>
            </base>
            <test>
                <province>北京</province>
                <province>广州</province>
                    <city>深圳</city>
                    <city>珠海</city>
                <province>浙江</province>
                    <city>杭州</city>
            </test>
    </info>
    from xml.dom import minidom
    
    #打开xml
    #parse()解析,打开xml文件
    dom = minidom.parse('info.xml')
    
    #得到文档元素对象
    root = dom.documentElement
    
    print(root.nodeName)
    print(root.nodeValue)
    print(root.nodeType)
    print(root.ELEMENT_NODE)
    
    #获取标签
    #getElementsByTagName()可以获得指定标签名的一组标签。
    browser = root.getElementsByTagName('browser')
    print(browser[0].tagName)
    
    login = root.getElementsByTagName('login')
    print(login[0].tagName)
    print(login[1].tagName)
    
    province = root.getElementsByTagName('province')
    print(province[0].tagName)
    
    #获取标签的属性值
    #getAttribute()方法用于获取元素的属性值 和webdriver 的 get_attribute()方法相似
    username = login[0].getAttribute("username")
    print(username)
    password = login[0].getAttribute("password")
    print(password)
    
    #获取标签对之间的数据
    #获取第一个province标签对的值
    #firstChild 属性返回被选节点的第一个子节点。data 表示获取该节点的数据,与webdriver 中的text方法相似。
    province1 = province[0].firstChild.data
    print(province1)
  • 相关阅读:
    HDU 1317 XYZZY(floyd+bellman_ford判环)
    UVa 10791 最小公倍数的最小和(唯一分解定理)
    UVa 12169 不爽的裁判
    UVa 11582 巨大的斐波那契数!(幂取模)
    POJ 1142 Smith Numbers(分治法+质因数分解)
    HDU 1595 find the longest of the shortest
    UVa 11090 在环中
    UVa 10917 林中漫步
    UVa 11374 机场快线
    POJ 1503 Integer Inquiry
  • 原文地址:https://www.cnblogs.com/Skyyj/p/6719296.html
Copyright © 2011-2022 走看看