python解析xml文件elementtree_Python 用ElementTree读取XML文件
python有三种方法解析XML,SAX,DOM,以及ElementTree
###1.SAX (simple API for XML )
pyhton 标准库包含SAX解析器,SAX是一种典型的极为快速的工具,在解析XML时,不会占用大量内存。
但是这是基于回调机制的,因此在某些数据中,它会调用某些方法进行传递。这意味着必须为数据指定句柄,
以维持自己的状态,这是非常困难的。
###2.DOM(Document Object Model)
与SAX比较,DOM典型的缺点是比较慢,消耗更多的内存,因为DOM会将整个XML数读入内存中,并为树
中的第一个节点建立一个对象。使用DOM的好处是你不需要对状态进行追踪,因为每一个节点都知道谁是它的
父节点,谁是子节点。但是DOM用起来有些麻烦。
###3.ElementTree(元素树)
ElementTree就像一个轻量级的DOM,具有方便友好的API。代码可用性好,速度快,消耗内存少,这里主要
介绍ElementTree。
以上是从网络上摘抄下来的,根据这个描述,我直接使用第三种方法。分割线一下是我的实现
====================================================
我的XML文件设计:
(Project)
(Project)
红色部分是我为了写这个日志,而添加的说明。
我想要做的事情:根据ProjectName得到每个SiteCollection和HostName。
代码实现:
from xml.etree import ElementTree
def extractXMLGetBaseURL(XMLfile, ProjectName):
root = ElementTree.parse(XMLfile).getroot()
MyProjectName = root.find(ProjectName)
server = MyProjectName.find('ServerConfig')
print("HostName: " + server.get("HostName"))
print("SiteCollection: " + server.get("SiteCollection"))
extractXMLGetBaseURL(".\TestCase.xml", "BasicEnforcement")
运行结果:
HostName: pf1-w08-sps08
SiteCollection: BasicEnforcement
==Done
其他说明:
1. ElementTree.parse(FilePath)解析文件。
2. 解析之后用.getroot()获取root节点。
3. root.find()括号中可以直接带上节点的名字。如server=root.find("ServerConfig")
4. XXX.get()括号中可以直接写上attribute。如server.get("HostName")
5. XXX.attrib(),会返回所有attribute。
6. XXX.getchildren()会返回所有的children。
python解析xml文件elementtree_Python 用ElementTree读取XML文件相关推荐
- 【Python入门教程】第72篇 读取CSV文件
本篇我们介绍如何使用 Python 内置的 csv 模块读取 CSV 文件. CSV 文件 CSV 代表逗号分隔值(comma-separated values),CSV 文件就是使用逗号分隔数据的文 ...
- python从云端服务器读数据_audio 读取服务器文件
PHP面试干货 1.进程和线程 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一 ...
- 如何用python处理excel中时间重合_python读取Excel文件中的时间,并计算时间间隔...
以此Excel文件为例: 1.python读取Excel文件中的时间 import xlrd #读取Excel文件 workbook = xlrd.open_workbook('C:/Users/12 ...
- java jdom 读取xml文件_使用Jdom读取XML文件方法
使用Jdom读取XML文件方法,学习Spring时,我们经常看到很多xml配置文件,Spring通过在配置文件中的配置,使用IOC(控制反转),从而实现代码的灵活性,本篇我就为大家介绍一种解析xml方 ...
- python读取所有txt文件_python如何批量读取txt文件
python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...
- python读取大文件的坑_Python读取大文件的坑“与内存占用检测
python读写文件的api都很简单,一不留神就容易踩"坑".笔者记录一次踩坑历程,并且给了一些总结,希望到大家在使用python的过程之中,能够避免一些可能产生隐患的代码. 1. ...
- java取linux本地xml,java-使用apache poi读取.xlsx文件会在Linux机器...
我有一个读取.xlsx文件并向用户显示内容的应用程序.该应用程序在Windows环境下运行良好. 我将此Web应用程序的.war文件部署在ubuntu服务器上的tomcat6上.我还复制了服务器上的. ...
- python读取指定路径txt文件-如何使用pandas读取txt文件中指定的列(有无标题)
最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...
- python写入指定路径的文件_python 从shell读取指定文件以及写入指定文件
python 从shell读取指定文件以及写入指定文件 运行不同的文件每次都要修改脚本,能不能指定输入文件以及输出文件? python abstract_element.py 1.txt 2.txt ...
最新文章
- boostrap 鼠标滚轮滑动图片_BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)...
- dNet项目数据访问层代码总结
- Understand分析Kinect SDK 1.7自带例子(C++)图集一
- python 读写函数
- 各种模板(数学数论字符串)
- 测试:脱离VS2010使用自动化测试时出现 6DA215C2-D80D-42F2-A514-B44A16DCBAAA 错误
- 动态分配方式计算学生成绩
- 循环结构c语言乘电梯,C语言循环结构练习题.doc
- spdy_buffer
- 用opencv压缩图片
- 免费云笔记软件哪个好?
- 常用正则表达式大全(包含港澳台身份证等校验)
- java二进制编辑器_Java Hex Editor免费版-十六进制编辑器下载 v2.0 免费版 - 安下载...
- eclipes常用快捷键
- 业务数据分析-常见业务指标
- python将数据做直方图_用python 制作直方图
- 使用Charles不能抓取到Ios手机的数据包
- 通过西部世界来盘点近来人工智能研究的发展
- 2022-08-04 Brighthouse: An Analytic DataWarehouse for Ad-hoc Queries
- 基于java的校园网站管理系统
热门文章
- impala中的时间戳 TIMESTAMP类型用法(转载网上电子书)(不是我原创)
- 7.node.js的3DES 加密和解密的方法封装
- 4am永远 鼠标按键设置_《王者荣耀》键鼠按键映射教程
- android 后台自动拍照,Android实现后台开启服务默默拍照功能
- 基于OpenCV的图片和视频人脸识别
- js 获取元素位置和大小_js 位置_Js宽度高度(详解)
- ROS配置SLAM环境
- java程序如何访问成员变量,java如何访问成员变量
- Python OpenCV 之图像金字塔,高斯金字塔与拉普拉斯金字塔
- Fragment的简单使用二