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>
时间: 2024-12-20 19:31:28

python解析xml的相关文章

python解析xml文件操作的例子

python解析xml文件操作实例,操作XML文件的常见技巧. xml文件内容: <?xml version="1.0" ?> <!--Simple xml document__chapter 8--> <book> <title> sample xml thing </title> <author> <name> <first> ma </first> <last>

python 解析XML文件

比较高效的python 解析XML文件 参考 http://codingpy.com/article/parsing-xml-using-python/ try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET import time def parse_poi_by_elementTree(filepath): t0 = time.time() tree = E

python解析xml之lxml

虽然python解析xml的库很多,但是,由于lxml在底层是用C语言实现的,所以lxml在速度上有明显优势.除了速度上的优势,lxml在使用方面,易用性也非常好.这里将以下面的xml数据为例,介绍lxml的简单使用. [html]?view plain?copy ? 例子:dblp.xml(dblp数据的片段)?? <?xml?version='1.0'?encoding='utf-8'?>???? <dblp>?? ???????<article?mdate="

Python解析XML文件

python对XML的解析 常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同. python有三种方法解析XML,SAX,DOM,以及ElementTree: 1.SAX (simple API for XML ) pyhton 标准库包含SAX解析器,SAX用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件. 2.DOM(Document Object Model) 将XML数据在内存中解析成一个树,通过

python解析xml并按照其结构输出

平时写代码需要将一个xml文件按照其结构,将每个节点列出来,如: <root> <person age="18"> <name>hzj</name> <sex>man</sex> </person> <person age="19" des="hello"> <name>kiki</name> <sex>female

Python解析xml文件遇到的编码解析的问题

使用python对xml文件进行解析的时候,如果xml文件的头文件是utf-8格式的编码,那么解析是ok的,但如果是其他格式将会出现如下异常: xml.parsers.expat.ExpatError: unknown encoding 因此,为了保证程序的正常运行,我们需要对读取的文件进行编码处理. 1.首先将读取的字符从原来的编码解析,并编码成utf-8: 2.修改xml的encoding: 代码如下: import sys import os import datetime import

python解析XML笔记(etree)

近期梳理Weblogic数据源,数据源较多,但是每一个数据源在weblogic中是xml方式存在,所以想到批量解析xml,把数据放到数据库后来解决. 需要的数据源信息: WEBLOGIC_HOSTJDBC_NAMEJNDI_NAMEDB_ALIASDB_NAMEDB_HOSTINST_PORTDB_USERTARGETURLDRIVER_TYPECAPACITY 数据源xml格式: <?xml version='1.0' encoding='UTF-8'?> <jdbc-data-sou

python 解析XML xml.dom

一 .xml.dom 解析XML的API描述 minidom.parse(filename) 加载读取XML文件 doc.documentElement 获取XML文档对象 node.getAttribute(AttributeName) 获取XML节点属性值 node.getElementsByTagName(TagName) 获取XML节点对象集合 node.childNodes 返回子节点列表. node.childNodes[index].nodeValue 获取XML节点值 node.

python 解析 xml

<taskList nextId="62292"> <task module="reliability" owner="vprovodi" id="59074" status="error" result="XFL is OK;init OK;Tests: 17, Expected failures: 1, Unexpected: 1, Actual total count is

【python小随笔】python解析xml格式字符串与xml文件

1:解析xml---文件 from xml.dom.minidom import parse import xml.dom.minidom # 使用minidom解析器打开XML文档 DOMTree = xml.dom.minidom.parse("./test.xml") print(DOMTree) collection = DOMTree.documentElement # 集合某个标签 VariationChilds = collection.getElementsByTagN