python读取xml文件,让工具可配置

同上文,随着笔者写的脚本部署在服务器上常态化运行后,有很多地方需要改成可配置的,这样方便其他小伙伴在使用时能够快速完成配置,不用去关注代码逻辑。考虑两种配置文件形式,json或者xml,考虑到xml可以写注释,而json不行,遂选择xml作为配置文件类型。

配置文件

<config>
    <start>2023-06-24start>
    <address>www.baidu.com
        <is_test>trueis_test>
    address>
config>

读取xml源码

具体这个三方库的底层逻辑没有读过,使用过程中注意,调用DOMTree.documentElement后获得就是标签config中的所有节点,而且需要注意的是,is_test虽然是address的子节点,但是也需要通过getElementsByTagName获取。只是获取标签内的数据内容的话,getElementsByTagName(标签名)[0].childNodes[0].data即可。但获取到的数据前后可能有会有回车或者空格,注意加上strip()清洗一下比较好。

from xml.dom.minidom import parse


def get_config():
    # minidom解析器打开xml文档并将其解析为内存中的一棵树
    DOMTree = parse(r'config.xml')
    # 获取xml文档对象,就是拿到树的根
    config = DOMTree.documentElement

    start_str = config.getElementsByTagName('start')[0].childNodes[0].data.strip()
    address_str = config.getElementsByTagName('address')[0].childNodes[0].data.strip()
    is_test_str = config.getElementsByTagName('is_test')[0].childNodes[0].data.strip()
    
    print(start_str)
    # 2023-06-24
    print(address_str)
    # www.baidu.com
    print(is_test_str)
    # true

你可能感兴趣的:(python,python,xml,minidom,DOMTree)