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的更多相关文章

  1. python 解析XML python模块xml.dom解析xml实例代码

    分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...

  2. python解析xml模块封装代码

    在python中解析xml文件的模块用法,以及对模块封装的方法.原文转自:http://www.jbxue.com/article/16586.html 有如下的xml文件:<?xml vers ...

  3. python解析xml之lxml

    虽然python解析xml的库很多,但是,由于lxml在底层是用C语言实现的,所以lxml在速度上有明显优势.除了速度上的优势,lxml在使用方面,易用性也非常好.这里将以下面的xml数据为例,介绍l ...

  4. python 解析xml

    在工作中很多时候都要用到xml,使用这个时候难免会设计到解析他,然后就研究了一下python解析xml问题,看了很多东西,python有很多解析xml的包,但是也折腾我好一段时间,最后选择了这个方法. ...

  5. Python 解析 XML 文件生成 HTML

    XML文件result.xml,内容如下: <ccm> <metric> <complexity>1</complexity> <unit> ...

  6. Python 解析XML实例(xml.sax)

    已知movies.xml <collection shelf="New Arrivals"> <movie title="Enemy Behind&qu ...

  7. 横向对比分析Python解析XML的四种方式

    横向对比分析Python解析XML的四种方式 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜 ...

  8. PYTHON解析XML的多种方式效率对比实测

    在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜索后发现,目前应用比较广泛,且效率相对较高的E ...

  9. python 解析xml 文件: Element Tree 方式

    环境 python:3.4.4 准备xml文件 首先新建一个xml文件,countries.xml.内容是在python官网上看到的. <?xml version="1.0" ...

随机推荐

  1. Js 日期处理

    Js获取当前日期时间 var myDate = new Date(); myDate.getFullYear();    //获取完整的年份(4位,1970-????)  2014myDate.get ...

  2. <%@ include file=""%>与<jsp:include page=""/>区别

    jsp页面是把include指令元素(<%@ include file=""%>)所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被js ...

  3. Android 开发转型前端准备知识

    最近React Native甚是流行,再加上微信推动微应用的背景下,Android和IOS向前端转型势在必行. 技能点: 1.lambda表达式 http://blog.csdn.net/ioriog ...

  4. python解释器内建函数002

    001.dict 函数来创建字典 #!/usr/bin/python #!coding:utf-8 if __name__ == "__main__": dct001=dict(h ...

  5. 使用TypeScript实现简单的HTML5贪吃蛇游戏

    TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程.安德斯·海尔斯伯格,C#的首席架构师,已 ...

  6. Eclipse Clojure 开发插件

    参考:http://doc.ccw-ide.org/documentation.html#install-as-plugin 安装Eclipse Clojure插件 这里安装的插件是Countercl ...

  7. Android高德地图开发具体解释

    这段时间开发的时候用到了高德地图,对高德地图开发有心得体会,如今分享给大家.对我开发过百度地图的我来说,整体来说高德地图Demo,没有百度解说的具体 个人更偏向于使用百度地图,可是没办发,项目须要使用 ...

  8. 清除NT Kernel & System占用80端口

    运行'netstat -ano'发现80端口被system占用,进程号'4'转到任务管理器上看pid对应的进程描述是NT kernel & system. 解决方法: 1.1运行'regedi ...

  9. 剑指offer-面试题9.斐波拉契数列

    题目一:写一个函数,输入n,求斐波拉契数列的第n项. 斐波拉契数列的定义如下: { n=; f(n)={ n=; { f(n-)+f(n-) n>; 斐波拉契问题很明显我们会想到用递归来解决: ...

  10. C pointers

    指向整型数组指针int (*p)[10] = matrix;增加这个指针的值使它指向下一个整型数组 指向整型指针int *pi = &matrix[0][0];int *pi = &m ...