zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    JS事件冒泡
    iis设置Gzip后,无后缀的url无法压缩解决 MVC iis GZIP
    SQL中的循环、for循环、游标
    采用CDN加速后,如何在程序里获取用户IP地址
    Resharper 的快捷键
    JS防后退跳转
    ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
    Log4net创建日志及简单扩展
    统治世界的十大算法
    ffmpeg save rtsp stream
  • 原文地址:https://www.cnblogs.com/Tridents/p/9123416.html
Copyright © 2011-2022 走看看