码迷,mamicode.com
首页 > 编程语言 > 详细

python解析xml

时间:2016-02-01 22:21:24      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

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

标签:

原文地址:http://www.cnblogs.com/liguangao/p/5176214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!