Python基础 xml解析

来源:互联网 发布:单机游戏神作 知乎 编辑:程序博客网 时间:2024/06/05 12:02

XML 解析

了解即可,因为Json才是王道

运行示例

#!/usr/bin/env python3# -*- coding: utf-8 -*-# Python基础 xmlfrom xml.parsers.expat import ParserCreateclass decodeXml(object):    def start_element(self, name, attrs):        print('sax:start_element: %s, attrs: %s' % (name, str(attrs)))    def end_element(self, name):        print('sax:end_element: %s' % name)    def char_data(self, text):        print('sax:char_data: %s' % text)xmlData = r'''<?xml version="1.0"?><ol>    <li><a href="/python">Python</a></li>    <li><a href="/ruby">Ruby</a></li></ol>'''mdecodeXml = decodeXml()parser = ParserCreate()parser.StartElementHandler = mdecodeXml.start_elementparser.EndElementHandler  = mdecodeXml.end_elementparser.CharacterDataHandler = mdecodeXml.char_dataparser.Parse(xmlData)

运行结果

D:\PythonProject>python main.pysax:start_element: ol, attrs: {}sax:char_data:sax:char_data:sax:start_element: li, attrs: {}sax:start_element: a, attrs: {'href': '/python'}sax:char_data: Pythonsax:end_element: asax:end_element: lisax:char_data:sax:char_data:sax:start_element: li, attrs: {}sax:start_element: a, attrs: {'href': '/ruby'}sax:char_data: Rubysax:end_element: asax:end_element: lisax:char_data:sax:end_element: olD:\PythonProject>