查找xml中的接口名及涉及表名并输出
#! /usr/bin/env python3
# -*- coding:utf-8 -*-
import xml.dom.minidom #该模块被用来处理xml文件
import re #正则表达式模块
dom=xml.dom.minidom.parse('e:/pcf10.xml') #打开xml文档, * * *请确保E盘下有文件pcf10.xml * * *
#xml.dom.minidom模块被用来处理xml文件,并将这个文件对象赋值给dom变量。
#得到文档元素对象
root=dom.documentElement
#documentElement用于得到dom对象的文档元素,并把获得的对象给root
#获得子标签
#对于知道元素名字的子元素,可以使用getElementsByTagName方法获取:
#root.getElementsByTagName('select')获得的是标签为select的一组标签
itemlist=root.getElementsByTagName('select')
modl=re.compile('(pgenius.)([a-z_A-Z]{2,50})') #正则表达式匹配模式
tableset=set() #集合变量,不含重复值
f=open('e:/w.txt','w') #创建并打开文件w.txt ,用于将写入结果集。
for i in itemlist:
tableset1=set()
tableset2=set()
content=[n.data.strip() for n in i.childNodes if n.nodeType==4][0]
tabless=modl.findall(content) #符合匹配模式的结果集
for n,m in tabless:
tableset1.add(n)
tableset2.add(m)
tableset.add(m)
if len(tableset2):
print(i.getAttribute("id")) #getAttribute方法可以获得元素的属性所对应的值。
print(tableset1)
f.write(i.getAttribute("id"))
f.write('\n')
print(tableset2)
tableset1=list(tableset1)
tableset2=list(tableset2)
if len(tableset1):
f.write(tableset1[0])
f.write('\n')
for j in tableset2:
f.write(j)
f.write('\n')
print(tableset) #此列表为xml文件中所有符合条件的表的无重复集合,未写入文件w.text,仅在显示界面输出。
f.close()
查找xml中的接口名及涉及表名并输出的更多相关文章
- oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息
来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * fro ...
- MySQL 查询某个数据库中所有包含数据记录的表名
MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下S ...
- Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、
查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t; ...
- Hue中hive(hive cli)查询结果中显示列名,不带表名
hive cli中显示列名 进入hive cli后 set hive.cli.print.header=true; 之后出现列名,但是带了表名前缀,由于网上没找到资料,于是到官网肉眼扫描所有参数,总算 ...
- 获取SQL数据库中的数据库名、所有表名、所有字段名、列描述
1.获取所有数据库名: (1).Select Name FROM Master.dbo.SysDatabases orDER BY Name 2.获取所有表名: (1).Select Na ...
- [SQL]某数据库中查出包含 字段名 的所有表名
--利用SQL语句来查询字段所在的表 --从某数据库中查出包含 字段名 字段的所有表名 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE ...
- SQLServer中获取所有数据库名、所有表名、所有字段名的SQL语句
----1. 获取所有的数据库名----- SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME -----2. 获取所有的表名------ S ...
- mysql查找数据库中是否已经存在某张表
Sql: select count(*) from information_schema.TABLES t where t.TABLE_SCHEMA ="数据库名" and t.T ...
- 设置centos7中的mysql5.7不区分表名大小写有关操作
1.#which mysqld //查看mysql的命令路径 /usr/sbin/mysqld 2.#/usr/sbin/mysqld --verbose --help | grep ...
随机推荐
- css sticker footer
.detail position: fixed z-index: 100 top: 0 left: 0 width: 100% height: 100% overflow: auto .detail- ...
- Day2-异步IO+Scrapy爬虫
一.异步IO http://www.cnblogs.com/wupeiqi/articles/6229292.html 这篇文章写的不错,展示了多种高并发的方式,从同步执行→多线程→多进程→async ...
- arcgis 浅入
首先声明,此文只是用于学习,非商业用途!!20181226谷子弟留 有朋友需要用arcgis来学习分析图块,实现图块的分类和数据分析和统计. 于是网上找了找资源. http://pan.baidu ...
- python基础之函数名的使用,闭包以及迭代器
内容梗概: 1. 函数名的使⽤用以及第⼀一类对象 2. 闭包 3. 迭代器 1.函数名一. 函数名的运⽤.函数名是一个变量, 但它是⼀个特殊的变量, 与括号配合可以执行函数的变量.1.1 函数名的内存 ...
- CF数据结构练习
1. CF 438D The Child and Sequence 大意: n元素序列, m个操作: 1,询问区间和. 2,区间对m取模. 3,单点修改 维护最大值, 取模时暴力对所有>m的数取 ...
- IntelliJ IDEA的调试方法
快捷键F9 resume programe 恢复程序 Alt+F10 show execution point 显示执行断点 F8 S ...
- MySQL 分支和循环结构
1.if else分支 mysql:用elseif Oracle:用elsif 可以用select直接查看获取的值或者一个变量. create procedure pd_t ...
- 安卓——Handler延迟跳转
//声明控制对象 Handler handler =new Handler(){ @Override public void handleMessage(Message msg) { super.ha ...
- Leetcode 869. 重新排序得到 2 的幂
869. 重新排序得到 2 的幂 显示英文描述 我的提交返回竞赛 用户通过次数102 用户尝试次数134 通过次数103 提交次数296 题目难度Medium 从正整数 N 开始,我们按任何顺序 ...
- lua 函数基础
函数定义在前,调用在后 如果函数只有一个实参,并且此参数是一个字面字符串或者table构造式,那么可以省略() 例如 print "hello" unpack{1,2} print ...