python解析xml
python解析xml
import xml.dom.minidom as minidom
dom = minidom.parse("aa.xml")
root = dom.getElementsByTagName("Schools") #The function getElementsByTagName returns NodeList.
print(root.length)
for node in root:
print("Root element is %s。" %node.tagName)# 格式化输出,与C系列语言有很大区别。
schools = node.getElementsByTagName("School")
for school in schools:
print("school.nodeName",school.nodeName)
print("school.tagName:",school.tagName)
print("school.getAttribute:",school.getAttribute("Name"))
print("school.getAttribute.value:",school.attributes["Name"].value)
classes = school.getElementsByTagName("Class")
print("There are %d classes in school %s" %(classes.length, school.getAttribute("Name")))
for mclass in classes:
print("mclass.getAttribute",mclass.getAttribute("Id"))
for student in mclass.getElementsByTagName("Student"):
print(student.attributes["Name"].value)
# print(student.getElementsByTagName("English")[0].nodeValue) #这个为什么啊?
# print(student.getElementsByTagName("English")[0].childNodes[0].nodeValue)
print(student.getElementsByTagName('ll')[0].childNodes[0].nodeValue)
student.getElementsByTagName("ll")[0].childNodes[0].nodeValue = 75
#getElementsByTagName返回的是一个集合
#childNodes返回的也是一个集合
f = open('new.xml', 'w', encoding = 'utf-8')
dom.writexml(f,encoding = 'utf-8')
f.close()
<?xml version="1.0" encoding="utf-8"?>
<Schools>
<School Name="XiDian">
<Class Id="030612">
<Student Name="salomon">
<Scores>
<Math>98</Math>
<English>
<ll>85</ll>
</English>
<physics>89</physics>
</Scores>
</Student>
<Student Name="Jupiter">
<Scores>
<Math>74</Math>
<English>
<ll>83</ll>
</English>
<physics>69</physics>
</Scores>
</Student>
</Class>
<Class Id="030611">
<Student Name="Venus">
<Scores>
<Math>98</Math>
<English>
<ll>83</ll>
</English>
<physics>89</physics>
</Scores>
</Student>
<Student Name="Mars">
<Scores>
<Math>74</Math>
<English>
<ll>83</ll>
</English>
<physics>69</physics>
</Scores>
</Student>
</Class>
</School>
</Schools>
python解析xml的更多相关文章
- python 解析XML python模块xml.dom解析xml实例代码
分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...
- python解析xml模块封装代码
在python中解析xml文件的模块用法,以及对模块封装的方法.原文转自:http://www.jbxue.com/article/16586.html 有如下的xml文件:<?xml vers ...
- python解析xml之lxml
虽然python解析xml的库很多,但是,由于lxml在底层是用C语言实现的,所以lxml在速度上有明显优势.除了速度上的优势,lxml在使用方面,易用性也非常好.这里将以下面的xml数据为例,介绍l ...
- python 解析xml
在工作中很多时候都要用到xml,使用这个时候难免会设计到解析他,然后就研究了一下python解析xml问题,看了很多东西,python有很多解析xml的包,但是也折腾我好一段时间,最后选择了这个方法. ...
- Python 解析 XML 文件生成 HTML
XML文件result.xml,内容如下: <ccm> <metric> <complexity>1</complexity> <unit> ...
- Python 解析XML实例(xml.sax)
已知movies.xml <collection shelf="New Arrivals"> <movie title="Enemy Behind&qu ...
- 横向对比分析Python解析XML的四种方式
横向对比分析Python解析XML的四种方式 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜 ...
- PYTHON解析XML的多种方式效率对比实测
在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜索后发现,目前应用比较广泛,且效率相对较高的E ...
- python 解析xml 文件: Element Tree 方式
环境 python:3.4.4 准备xml文件 首先新建一个xml文件,countries.xml.内容是在python官网上看到的. <?xml version="1.0" ...
随机推荐
- NSInteger和BOOL的底层类型
在Objective-C中,NSInteger和BOOL是通过typedef或者#define宏进行定义的,那么,这两个数据类型的底层类型是什么呢? 首先查看NSInteger的定义: #if __L ...
- ecos编译redboot,vmware运行redboot,执行hello world(图形配置)
1- 下载源文件 :~/ecos$ ls -lrt total 80 drwxr-xr-x 7 XXXX XXXX 4096 Mar 27 2009 ecos-3.0 -rw-r--r-- 1 X ...
- 安装mysqlsla性能分析工具
开启mysql慢查询日志 vi /etc/my.cnf slow-query-log = on #开启MySQL慢查询功能 slow_query_log_file = /data/mysql/127 ...
- oc语言--语法
一.OC简介 1.简介 它是C语言的基础上,增加了一层面向对象语法 OC完全兼容C语言 可以在OC代码中混入C语言代码,甚至是C++代码 可以使用OC开发mac OS X平台和IOS平台的应用程序 2 ...
- nginx中配置跨域支持功能
vi /etc/nginx/nginx.conf 加入如下代码 http { ###start#### add_header Access-Control-Allow-Origin *; add ...
- [转]从数据库中导出用友U8的现存量数据到Excel表
转载自:http://www.czerp.com.cn/page/Default.asp?ID=372 可通过Excel获取外部数据的方式与SQL数据库创建查询连接,并导入到Excel中: Selec ...
- poj 1699 Best Sequence
http://poj.org/problem?id=1699 题意:给你n个长度为L的序列,求包含这几个序列的最短长度. 先预处理每两个序列之间的关系,然后dfs枚举就行. #include < ...
- Planner – 项目管理软件
http://www.appinn.com/planner/ Planner 是一款开源.易用.跨平台的项目管理软件.@appinn 二猪用了 OpenProject 几年,现在已经受够了它的各种 ...
- 创业不要在IT业内创(市场太小,而且都喜欢自己折腾、没有花钱的习惯)
精神是好的.但是,我看了你的产品和网站:你选的创业方向基本是死路一条,我劝你该放弃就放弃.我判断你的思路还局限在IT行业内,创业不要在IT业内创,要走出去,睁开眼看看别人的世界,自己体会.我不是打击你 ...
- MyEclipse通过JDBC连接MySQL数据库基本介绍
转载自:http://www.jb51.net/article/31876.htm 1.前提是MyEclipse已经能正常开发Java工程 2.安装MySQL 个人使用的是版本是 mysql-5.0. ...