#! /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中的接口名及涉及表名并输出的更多相关文章

  1. oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息

    来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * fro ...

  2. MySQL 查询某个数据库中所有包含数据记录的表名

    MySQL 查询某个数据库中所有包含数据记录的表名 有时根据实际应用需要,需要对数据进行备份. 如果一个数据库中有很多数据表,但是只想备份包含数据记录的那些表数据(空表不做数据备份). 如果通过如下S ...

  3. Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、

    查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t; ...

  4. Hue中hive(hive cli)查询结果中显示列名,不带表名

    hive cli中显示列名 进入hive cli后 set hive.cli.print.header=true; 之后出现列名,但是带了表名前缀,由于网上没找到资料,于是到官网肉眼扫描所有参数,总算 ...

  5. 获取SQL数据库中的数据库名、所有表名、所有字段名、列描述

    1.获取所有数据库名:    (1).Select Name FROM Master.dbo.SysDatabases orDER BY Name 2.获取所有表名:    (1).Select Na ...

  6. [SQL]某数据库中查出包含 字段名 的所有表名

    --利用SQL语句来查询字段所在的表 --从某数据库中查出包含 字段名 字段的所有表名 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE ...

  7. SQLServer中获取所有数据库名、所有表名、所有字段名的SQL语句

    ----1. 获取所有的数据库名----- SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME -----2. 获取所有的表名------ S ...

  8. mysql查找数据库中是否已经存在某张表

    Sql: select count(*) from information_schema.TABLES t where t.TABLE_SCHEMA ="数据库名" and t.T ...

  9. 设置centos7中的mysql5.7不区分表名大小写有关操作

    1.#which mysqld          //查看mysql的命令路径 /usr/sbin/mysqld 2.#/usr/sbin/mysqld --verbose --help | grep ...

随机推荐

  1. java重新开始学习

    1.从菜鸟网站开始学习.http://www.runoob.com/java/java-tutorial.html 2. String args[] 与 String[] args 还有一个就是Str ...

  2. Asp.net core 学习笔记 ( Area and Feature folder structure 文件结构 )

    2017-09-22 refer : https://msdn.microsoft.com/en-us/magazine/mt763233.aspx?f=255&MSPPError=-2147 ...

  3. (转)C# Assembly.Load 使用

    在C#中,我们要使用反射,首先要搞清楚以下命名空间中几个类的关系: System.Reflection命名空间(1)  AppDomain:应用程序域,可以将其理解为一组程序集的逻辑容器(2)  As ...

  4. python float转为decimal

    73.2413793103 ======= 73.2414 <type 'float'> ======= <class 'decimal.Decimal'> 当断言这两个值相等 ...

  5. 质控工具之cutadapt的使用方法

    cutadapt 参考:用cutadapt软件来对双端测序数据去除接头 fastqc可以用于检测,检测出来了怎么办? 看了几篇高水平文章,有不少再用cutadapt,虽然有时候数据真的不错,但是还是要 ...

  6. java---->Itellij idea报错:错误: 找不到或无法加载主类 main

      没有设置好正确的类路径 点击上面圈红色处,在点击Edit Configuration,进入下面设置界面 切换到下面这个界面 红色×消失,运行正常,截图如下

  7. English trip M1 - PC6 Likes and Dislike Teacher:Jade

    In this lesson you will learn to talk about likes and dislikes. 课上内容(Lesson) # 通常在习惯性的表达式用 it's 来表达w ...

  8. Python自学:第二章 修改字符串的大小写 titile.()、upper()、lower()

    title.():首字母大写 upper():全大写 lower():全小写 ada lovelace:人名,传控计算机创始人 name = "ada lovelace" prin ...

  9. Red and Black HDU - 1312

    There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A ...

  10. selenium配置Chrome驱动

    1.http://chromedriver.storage.googleapis.com/index.html   chrome下载驱动地址 和对应的版本驱动,不用FQ 2.配置方法:如在e盘创建一个 ...