#vim info.xml
<info>
<intro>信息</intro>
<list id='001'>
<head>auto_userone</head>
<name>Jordy</name>
</list>
</info>
#vim infoxmlparser.py
#!/usr/bin/python
#coding=utf-8
#Python Version Python 2.6.5
from xml.sax.handler import ContentHandler
from xml.sax import parse
class HeadlineHandler(ContentHandler):
in_headline=False
def __init__ (self):
ContentHandler.__init__(self)
self.data=[]
self.file=open('info.txt','w')
self.file.writelines('id'+'\t'+'head\n')
self.file.close()
def startElement(self,name,attrs):
if name == 'list':
self.data.append(attrs['id'])
if name == 'head':
self.in_headline=True
def endElement(self,name):
if name == 'list':
self.file=open('info.txt','a')
self.file.writelines(self.data[0]+'\t'+self.data[1]+'\n')
self.file.close()
self.data=[]
if name == 'head':
self.in_headline=False
def characters(self,string):
if self.in_headline:
self.data.append(string)
if __name__=='__main__':
parse('info.xml',HeadlineHandler())
执行&结果
# python infoxmlparser.py
# cat info.txt
id head
001 auto_userone
追问我运行怎么出错了,求大神指点,俺是新手加菜鸟:Traceback (most recent call last):File "D:/program/python/6-30.py", line 31, in
parse('6-27_1.xml',HeadlineHandler())
我运行怎么出错了,求大神指点,俺是新手加菜鸟:Traceback (most recent call last):File "D:/program/python/6-30.py", line 31, in
parse('6-27_1.xml',HeadlineHandler())
追答包正常导入的话,语法也没错误,应该没错啊。从你的这个提示错误,我看不出什么问题啊,只是看到31行有问题,但是后面的提示,你也没贴出来。。。