查找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 ...
随机推荐
- Java中类似C#中Task.wait()的类CountDownLatch
当主线程开辟多个子线程,而又需要这些子线程都执行完成后再执行主线程后续的操作,在C#中可以通过Task的wait方法来实现,然而在Java中也有类型的类CountDownLatch,具体用法如下: p ...
- 猫眼电影爬取(三):requests+pyquery,并将数据存储到mysql数据库
还是以猫眼电影为例,这次用pyquery库进行爬取 1.简单demo,看看如何使用pyquery提取信息,并将提取到的数据进行组合 # coding: utf-8 # author: hmk impo ...
- 日常英语---六、Maplestory Illium
日常英语---六.Maplestory Illium 一.总结 一句话总结: maplestory-['meiplstɔri] illium-镍铬合金 ['meiplstɔri] n. 枫之谷(网 ...
- Practical Vim 第一章 & 第二章
第一章:Vim 解决问题的方式 前言 本质上讲,我们的工作是重复性的.凡是可以简化重复性操作的方式,都会成倍地节省我们的时间. Vim 对重复性操作进行了优化.它之所以能高效地重复,是因为它会记录我们 ...
- 雷林鹏分享:XML 实例
XML 实例 这些例子演示了 XML 文件.XML 格式化和 XML 转换(XSLT). 还演示了与 XML 一起使用的 JavaScript(AJAX). 查看 XML 文件 查看一个简单的 XML ...
- 完整的Django入门指南学习笔记4
前言 这一章节将会全面介绍 Django 的身份认证系统,我们将实现注册.登录.注销.密码重置和密码修改的整套流程. 同时你还会了解到如何保护某些试图以防未授权的用户访问,以及如何访问已登录用户的个人 ...
- Leetcode 714 - Node
1. 题目要求 Your are given an array of integers prices, for which the i-th element is the price of a giv ...
- [PAT]数字分类
#include <stdio.h> #include <stdlib.h> void A1(int *ar,int i); void A2(int *ar,int i); v ...
- 使用ajax请求接口,跨域后cookie无法设置,全局配置ajax;及使用axios跨域后cookie无法设置,全局配置axios
问题一: 使用ajax/axios跨域请求接口,后端放行了,能够正常获取数据,但是cookie设置不进去,后端登录session判断失效 ajax解决办法: //设置ajax属性 crossDomai ...
- Beta阶段——第6篇 Scrum 冲刺博客
Beta阶段--第6篇 Scrum 冲刺博客 标签:软件工程 一.站立式会议照片 二.每个人的工作 (有work item 的ID) 昨日已完成的工作 人员 工作 林羽晴 完成了函数的编写,提供报表数 ...