• Python的XML解析!


    #   解析XML内容
    from xml.sax import parse               #   分析文本用的模块
    from xml.sax import ContentHandler      #   内容处理类
    # <root>
    #     <student id='张三'>
    #         <name>张三</name>
    #         <sex>男</sex>
    #         <age>20</age>
    #     </student>
    class MyPar(ContentHandler):
        def __init__(self):
            ContentHandler.__init__(self)
            self.tag_name   = ''    # 元素标签
    self.count_name = ''    # 张三
    self.count_sex  = ''    # 性别
    self.count_age  = ''    # 年龄
    def startElement(self, name, attrs):
            self.tag_name = name    #   获取标签名
    if self.tag_name == 'student':
                print('*'*20)
                print("id:",attrs['id'])
    
        def characters(self, content):
            if self.tag_name == 'name':
                self.count_name = content
    
            if self.tag_name == 'sex':
                self.count_sex = content
    
            if self.tag_name == 'age':
                self.count_age = content
    
        def endElement(self, name):
            if name == 'name':
                print("   name:",self.count_name)
    
            if name == 'sex':
                print("    sex:",self.count_sex)
    
            if name == 'age':
                print("    age:", self.count_age)
    
            self.tag_name = ''
    if __name__ == '__main__':
        p = MyPar()
        parse('stu.xml',p)
    
    
    
    
    
    from xml.sax import parse               #   导入解析包(分析文本用的模块)
    from xml.sax import ContentHandler      #   导入内容处理类
    # <root name="中国">
    #   <province name="北京市">
    #     <city name="北京市" index="1">
    #       <area name="东城区" index="1" />
    class MyHader(ContentHandler):
        def __init__(self):
            ContentHandler.__init__(self)
            self.tag_name = ''
    def startElement(self, name, attrs):
            self.tag_name = name
            if self.tag_name == 'root':
                print("国家:",attrs['name'])
    
            if self.tag_name == 'province':
                print("  省:",attrs['name'])
    
            if self.tag_name == "city":
                print("      市:",attrs['name'],attrs['index'])
    
            if self.tag_name == "area":
                print("          区(县):",attrs['name'],attrs['index'])
    
        def endElement(self, name):
            self.tag_name = ''
    if __name__ == '__main__':
        p = MyHader()
        parse('city.xml',p)
  • 相关阅读:
    asp.net的decimal保留两位小数
    由于管理员设置的策略,该磁盘处于脱机状态-Win 2008 R2
    论大公司的通病和缺点
    sql server删除数据后空间无变化处理方法
    sql server压缩数据库和日志文件
    SQL千万级数据设计和优化
    SQL Server索引怎么用
    在电脑上测试手机网站
    asp.net实现GZip压缩和GZip解压
    WebService教程和分析
  • 原文地址:https://www.cnblogs.com/Tridents/p/9123416.html
Copyright © 2020-2023  润新知