#! /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中类似C#中Task.wait()的类CountDownLatch

    当主线程开辟多个子线程,而又需要这些子线程都执行完成后再执行主线程后续的操作,在C#中可以通过Task的wait方法来实现,然而在Java中也有类型的类CountDownLatch,具体用法如下: p ...

  2. 猫眼电影爬取(三):requests+pyquery,并将数据存储到mysql数据库

    还是以猫眼电影为例,这次用pyquery库进行爬取 1.简单demo,看看如何使用pyquery提取信息,并将提取到的数据进行组合 # coding: utf-8 # author: hmk impo ...

  3. 日常英语---六、Maplestory Illium

    日常英语---六.Maplestory Illium 一.总结 一句话总结: maplestory-['meiplstɔri]  illium-镍铬合金 ['meiplstɔri]  n. 枫之谷(网 ...

  4. Practical Vim 第一章 & 第二章

    第一章:Vim 解决问题的方式 前言 本质上讲,我们的工作是重复性的.凡是可以简化重复性操作的方式,都会成倍地节省我们的时间. Vim 对重复性操作进行了优化.它之所以能高效地重复,是因为它会记录我们 ...

  5. 雷林鹏分享:XML 实例

    XML 实例 这些例子演示了 XML 文件.XML 格式化和 XML 转换(XSLT). 还演示了与 XML 一起使用的 JavaScript(AJAX). 查看 XML 文件 查看一个简单的 XML ...

  6. 完整的Django入门指南学习笔记4

    前言 这一章节将会全面介绍 Django 的身份认证系统,我们将实现注册.登录.注销.密码重置和密码修改的整套流程. 同时你还会了解到如何保护某些试图以防未授权的用户访问,以及如何访问已登录用户的个人 ...

  7. Leetcode 714 - Node

    1. 题目要求 Your are given an array of integers prices, for which the i-th element is the price of a giv ...

  8. [PAT]数字分类

    #include <stdio.h> #include <stdlib.h> void A1(int *ar,int i); void A2(int *ar,int i); v ...

  9. 使用ajax请求接口,跨域后cookie无法设置,全局配置ajax;及使用axios跨域后cookie无法设置,全局配置axios

    问题一: 使用ajax/axios跨域请求接口,后端放行了,能够正常获取数据,但是cookie设置不进去,后端登录session判断失效 ajax解决办法: //设置ajax属性 crossDomai ...

  10. Beta阶段——第6篇 Scrum 冲刺博客

    Beta阶段--第6篇 Scrum 冲刺博客 标签:软件工程 一.站立式会议照片 二.每个人的工作 (有work item 的ID) 昨日已完成的工作 人员 工作 林羽晴 完成了函数的编写,提供报表数 ...