1 背景:手头上有N 张算是开发完成的报表,但是由于每个报表是不同的人开发的,每个人不同的编码风格,准备看看报表是否都定义了Title,是否都定义了报表的描述,是否有不带where条件的前台查询,是否同一个参数定义一致.现在AI 代码助手功能据说很强大了,试试描述需求让机器来辅助编码。
2 碰到的知识点 XML CDATA 内容段如何解析,期间问了一下CodeGeeX 是给出了代码段,但是在读取具体文件过程中还是碰到了一些问题提问给CodeGeeX 是回答了但是反复调试还是不通,最后还是通过搜索别人的Blog 发现了一种暴力方式,替换掉CDATA特殊标签,这样解析对象就和普通的XML 标签属性值没有什么区别了,比较暴力但是很实用.
3 单个文件标签属性解析组装使用xpath解析标签属性和标签属性的值,返回的对象是个list 结构,多个list结构通过{list1,list2,list3}方式组装返回的还是一个list
4 python for 循环读取目录下文件,逐个文件调用自定义解析函数后,返回一个总的list 对象。
5 总的返回的list对象转换成DataFrame结构 ,以streamlit的方式展示到web网页上.报表的description值依赖于前台画的位置.接卸的还不是百分百准确.暂时不做处理.
6总体返回的结果样式还是能大概看出来哪些报表缺哪些UI信息的.
import os
import lxml.etree as etree
import streamlit as st
import pandas as pd
def parse_xml_file(file_path):
with open(file_path, 'r', encoding='utf-8') as f