sax解析xml例如:
import xml.sax #导入xml.sax包
from xml.sax import parse #导入parse包
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
class student(object): #定义个学生类并继承obje
def __int__(self,stuname=None,stuage=None,stusex=None):
self.stuname=stuname
self.stuage=stuage
self.stusex=stusex
def __str__(self):
return "姓名:{0},年龄:{1}岁,性别:{2}".format(self.stuname,self.stuage,self.stusex)
stu = []#定义一个空列表
使用sax解析xml文档
class saxpar(xml.sax.ContentHandler): #创建一个saxpar类
def __init__(self,student=None,tag=None):
self.student=student
def startDocument(self):
print("=====开始=====")
def startElement(self, name,attrs):
if name=="student":
self.student=student()
self.tag=name
def characters(self, content):
if self.tag=="stuname":
self.student.stuname=content
elif self.tag=="stuage":
self.student.stuage=content
elif self.tag=="stusex":
self.student.stusex=content
def endElement(self, name):
if name=="student":
stu.append(self.student)
self.student=None
self.tag=None
def endDocument(self):
print("=====结束=====")
parse("student.xml",saxpar())
遍历里面每个元素
for student in stu:
print(student)