BeautifulSoup使获取xml中的属性和值变得非常简单。我调整了示例功能以使用这些功能。
import sysfrom BeautifulSoup import BeautifulSoup as Soupdef parseLog(file): file = sys.argv[1] handler = open(file).read() soup = Soup(handler) for message in soup.findAll('message'): msg_attrs = dict(message.attrs) f_user = message.find('from').user f_user_dict = dict(f_user.attrs) print "%s: %s [%s @ %s]" % (f_user_dict[u'friendlyname'], message.find('text').depreContents(), msg_attrs[u'date'], msg_attrs[u'time'])if __name__ == "__main__": parseLog(sys.argv[1])


