使用python的读取xml文件,简单的处理成元组数组

目录

创建xml_data.xml文件

准备xml_data.xml文件中的数据

.创建read_xml_data.py文件

转化为小工具

测试小工具


创建xml_data.xml文件

准备xml_data.xml文件中的数据

  1. XML 复制代码
    <data>
        <case>
            <username>13800131234</username>
            <password>123456</password>
            <verify_code>8888</verify_code>
            <msg>登陆成功</msg>
            <test_tittle>登录--成功登录</test_tittle>
        </case>
    
        <case>
            <username>13800131235</username>
            <password>123456</password>
            <verify_code>1324</verify_code>
            <msg>验证码错误</msg>
            <test_tittle>登录--验证码错误</test_tittle>
        </case>
    
        <case>
            <username>13800131236</username>
            <password>123457</password>
            <verify_code>8888</verify_code>
            <msg>密码错误!</msg>
            <test_tittle>登录--密码错误</test_tittle>
        </case>
    
        <case>
            <username></username>
            <password>123456</password>
            <verify_code>8888</verify_code>
            <msg>请填写账号或密码</msg>
            <test_tittle>登录--账号为空</test_tittle>
        </case>
    
        <case>
            <username>13800138336</username>
            <password></password>
            <verify_code>8888</verify_code>
            <msg>密码错误!</msg>
            <test_tittle>登录--成功登录</test_tittle>
        </case>
    
        <case>
            <username>13800138336</username>
            <password>Null</password>
            <verify_code>8888</verify_code>
            <msg>密码错误!</msg>
            <test_tittle>登录--密码为Null</test_tittle>
        </case>
    
        <case>
            <username>Null</username>
            <password>123456</password>
            <verify_code>8888</verify_code>
            <msg>账号不存在!</msg>
            <test_tittle>登录--账号为null</test_tittle>
        </case>
    </data>

    注:这些数据是随机编写的

.创建read_xml_data.py文件

  1. python 复制代码
    # 导入Et模块
    import xml.etree.ElementTree as ET
    
    # 文件路径
    xml_src = "xml_data.xml"
    
    # xml.etree.ElementTree
    tree = ET.parse(xml_src)
    
    # 获取跟节点中的数据
    root = tree.getroot()
    
    # 存储跟节点的数据
    xml_data_array =[]
    
    # 遍历跟节点下的子节点
    for child_node in root:
        # 遍历子节点下的子元素文本
    
        # 存储子节点中的数据
        child_element_list = []
        for child_element in child_node:
            child_element_list.append(child_element.text)
    
        # 将child_element_list 中的数据转化为元组  ==》追加到
    
        xml_data_array.append(tuple(child_element_list))
    
    
    print(xml_data_array)
    1. 使用ElementTree 读取xml文件
    2. 获取跟节点
    3. 操作跟节点,遍历里面的元素
    4. 将子节点中的数据存储在child_element_list中
    5. 将child_element_list中的数据转化为元组,并且追加到xml_data_array中

转化为小工具

  1. python 复制代码
    # 导入Et模块
    import xml.etree.ElementTree as ET
    
    
    
    def read_xml_data(xml_src):
        # xml.etree.ElementTree
        tree = ET.parse(xml_src)
    
        # 获取跟节点中的数据
        root = tree.getroot()
    
        # 存储跟节点的数据
        xml_data_array =[]
    
        # 遍历跟节点下的子节点
        for child_node in root:
            # 遍历子节点下的子元素文本
    
            # 存储子节点中的数据
            child_element_list = []
            for child_element in child_node:
                child_element_list.append(child_element.text)
    
            # 将child_element_list 中的数据转化为元组  ==》追加到
    
            xml_data_array.append(tuple(child_element_list))
    
        return xml_data_array

测试小工具

  1. python 复制代码
    import utils
    
    xml_src = "xml_data.xml"
    print(utils.read_xml_data(xml_src))
相关推荐
fouryears_234171 小时前
Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
开发语言·flutter·客户端·dart
我好喜欢你~1 小时前
C#---StopWatch类
开发语言·c#
lifallen3 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研3 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi3 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8243 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员3 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋4 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cui__OaO4 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
阿华的代码王国4 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端