addproject
This commit is contained in:
39
base_framework/public_tools/xml_file_api.py
Normal file
39
base_framework/public_tools/xml_file_api.py
Normal file
@@ -0,0 +1,39 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
# 功能:对xml文件的操作函数
|
||||
|
||||
import os
|
||||
import sys
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
|
||||
class XmlFileApi:
|
||||
def __init__(self, file_path):
|
||||
self.file_path = file_path
|
||||
self.root = ET.parse(file_path).getroot()
|
||||
|
||||
def get_contain_by_tag_names(self, tag_names):
|
||||
"""
|
||||
功能:根据多级标签名查询xml文件中的内容
|
||||
Args:
|
||||
tag_names: 多级标签名,从根目录开始,中间用/分隔,例如:statistics/total/stat
|
||||
Returns:
|
||||
对应标签名的内容,格式:[{"text": xxx, "attrib": yyy}]
|
||||
"""
|
||||
# for child in self.root:
|
||||
# print(child.tag, child.attrib)
|
||||
elements = self.root.findall('.//' + tag_names)
|
||||
if len(elements) == 0:
|
||||
print("根据标签:{},未找到对应的内容,请检查标签名是否正确".format(tag_names))
|
||||
return
|
||||
return_data = []
|
||||
for element in elements:
|
||||
return_data.append({"text": element.text, "attrib": element.attrib})
|
||||
return return_data
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
xf = XmlFileApi(file_path="C:/Users/17447/Downloads/output_gue_it.xml")
|
||||
xf.get_contain_by_tag_names(tag_names='statistics/total/stat')
|
||||
|
||||
# C:/Users/17447/Downloads/output_gue_it.xml
|
||||
# C:/Users/17447/Downloads/output_gue_it.xml
|
||||
Reference in New Issue
Block a user