xml demo

作者: 聂小过 | 来源:发表于2018-12-12 13:40 被阅读0次
    • config.xml
    <config>
        <!-- 被测服务器的ip信息 -->
        <ipinfo>
            <protocol>http</protocol>
            <ip>172.31.31.100</ip>
            <port>8100</port>
        </ipinfo>
        
        <!-- 被测服务器的db信息 -->
        <dbinfo>
            <dbip>172.31.31.100</dbip>
            <dbport>3306</dbport>
            <dbname>p2p3</dbname>
            <dbuser>root</dbuser>
            <dbpasswd>123456</dbpasswd>
        </dbinfo>
        
        <!-- 浏览器驱动类型相关信息,驱动默认已经添加到Path中 -->
        <browserinfo>
            <default>chrome</default>
            <type>ie,firefox,chrome</type>
        </browserinfo>
        
        <!-- 智能等待超时时间 -->
        <timeout>10</timeout>
        
        <!-- 默认速度 -->
        <defaultspeed>0</defaultspeed>
        <!-- 异常时,放慢速度:实例化SeleniumDriver类时需要指明type的类型。数字也大,速度越慢,为1则表示放慢1秒 -->
        <exceptspeed>3</exceptspeed>
    </config>
    
    
    • xml demo
    import os
    from xml.dom.minidom import parse
    # 定义一个字典保存ip信息
    ip_dict = {}
    # 定义配置文件的路径
    xml_path = os.path.dirname(os.path.dirname(__file__))+r"\conf\config.xml"
    # 解析该xml文件,得到树状结构
    dom_tree = parse(xml_path)
    # 得到树状结构的根节点
    document = dom_tree.documentElement
    # 根据标签名字找到根节点下所有的ipinfo标签元素,并取出第一个(实际上,也只有一个)
    ipinfo_element = document.getElementsByTagName("ipinfo")[0]
    # 根据ipinfo标签元素取出其下一级的协议、IP、端口等标签元素
    protocol_element = ipinfo_element.getElementsByTagName("protocol")[0]
    ip_element = ipinfo_element.getElementsByTagName("ip")[0]
    port_element = ipinfo_element.getElementsByTagName("port")[0]
    # 再取出各标签元素第一个子节点的值
    protocol = protocol_element.childNodes[0].data
    ip = ip_element.childNodes[0].data
    port = port_element.childNodes[0].data
    # 以字典方式返回(可选)
    ip_dict["ip"] = ip
    ip_dict["port"] = port
    ip_dict["protocol"] = protocol
    
    print(ip_dict)
    

    相关文章

      网友评论

          本文标题:xml demo

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