xml 解析

xml文件

#------------------------------------------------------------------------------------------------------------------

# test.xml

<?xml version="1.0" encoding="utf-8"?>
<Schools>
    <School Name="XiDian">
        <Class Id="030612">
            <Student Name="salomon">
                <English Teacher="xiashuangxi">"He is graduate from xiangnan."</English>
                <Scores>
                    <Math>98</Math>
                    <English>
                        <English>85</English>
                    </English>
                    <physics>89</physics>
                </Scores>
            </Student>
            <Student Name="Jupiter">
                <Scores>
                    <Math>74</Math>
                    <English>83</English>
                    <physics>69</physics>
                </Scores>
            </Student>
        </Class>
        <Class Id="030611">
            <Student Name="Venus">
                <Scores>
                    <Math>98</Math>
                    <English>85</English>
                    <physics>89</physics>
                </Scores>
            </Student>
            <Student Name="Mars">
                <Scores>
                    <Math>74</Math>
                    <English>83</English>
                    <physics>69</physics>
                </Scores>
            </Student>
        </Class>
    </School>
</Schools>

#----------------------------------------------------------

代码:

'''

Created on 2012-5-25

@author: salomon
'''

import xml.dom.minidom as minidom


dom = minidom.parse(r"D:\StudyProject\XML\test.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)
        print(school.tagName)
        print(school.getAttribute("Name"))
        print(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("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)
                student.getElementsByTagName("English")[0].childNodes[0].nodeValue = 75

f =  open('new.xml',  'w')
dom.writexml(f,encoding = 'utf-8')
f.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值