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