python XML文档解析--ElementTree遍历xml文档以及根据配置修改属性值

本文介绍如何使用Python的ElementTree模块遍历XML文档,并详细展示了修改XML文件中特定属性值的代码实例。
摘要由CSDN通过智能技术生成

python 中xml解析有很多种方式,本文采用ElementTree方式对xml进行解析。以下代码是对一个xml文档中具体属性值进行修改的例子(会涉及到遍历xml文本),修改的界面如下:
修改界面
实际修改的代码如下:

import xml.etree.ElementTree as ET
import json
import os
import sys

data_id = 1
tree = ET.ElementTree()

class XmlEdit:
    def __init__(self):
        pass
     
     #遍历xml节点   
    def through_xml_data(self, root_node, level, result_list):
        global data_id
        temp_list = [data_id, level, root_node.tag, root_node.attrib]
        result_list.append(temp_list)
        data_id += 1
        children_node = root_node.getchildren()
        if len(children_node) == 0:
            return
        for child in children_node:
            self.through_xml_data(child, level + 1, result_list)
        return
    
    def get_xml_file(self, in_file_path):
        if os.path.exists(in_file_path):
            print "xml file:" + in_file_path + " exit"
            root = ET.parse(in_file_path).getroot()
            level = 1
            result_list = []
            self.through_xml_data(root, level, result_list)
            return result_list
        else:
            print "xml file" + in_file_path + " no exit"
            return []

    def get_isdbt_same_attr_positon(self, key, result_list):
        # layer对应在result_list中的位置
        map_dict = {"layer1": 3, "Layer1": 3,
                    "layer2": 4, "Layer2": 4,
                    "layer3": 5, &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值