XML解析练习
from xml.etree.ElementTree import *
import parser
root=parse("book.xml")
books=root.findall("book")
for b in books:
print(b.find("bname").text,end=' ')
print(b.find("price").text,end=' ')
print(b.find("author").text)
from xml.etree.ElementTree import *
import parser
root=parse("book.xml")
books=root.findall("book")
for b in books:
print(b.find("bname").text,end=' ')
print(b.find("price").text,end=' ')
print(b.find("author").text)
from xml.dom.minidom import parse #得到整个DOM文档树 doc=parse('xuesheng.xml') #得到根节点 root=doc.documentElement print(root) xuesheng=root.getElementsByTagName('people') print(xuesheng) for p in xuesheng: print(p.getElementsByTagName('name')[0].childNodes[0])from xml.sax import ContentHandlerfrom xml.sax import parse class Person: def __init__(self): self.name =None self.age = None self.sex = None def __str__(self): return "姓名:{0},年龄:{1},性别:{2}".format(self.name , self.age, self.sex) people = [] class mysaxxml(ContentHandler): def __init__(self): self.person = None self.tag = None def startDocument(self): print("startDocument...") def startElement(self, name, attrs): self.tag = name if name == "person": self.person = Person() def characters(self, content): if self.tag == "name": self.person.name =content if self.tag == "age": self.person.age = content if self.tag == "sex": self.person.sex = content def endElement(self, name): if name == "person": people.append(self.person) self.person = None self.tag = None def endDocument(self): print("endDocument...") persons = mysaxxml() parse("persons.xml", persons) for p in people: print(p)