什么是xml(python数据分析:xml格式文件的常用解析,快速完成python的xml数据提取)

什么是xml
【粉丝福利】关注公众号,获取全套视频资料,xml.sax 通过解析器、事件处理器的方式对xml格式数据的进行解析。喜欢小编点个 '关注' 吧!
Python 集中营 基础巩固、进阶提升、编程技巧、实战总结,在 Python 的路上越走越宽! 122篇原创内容 --> 公众号 主要函数 1'''主要函数'''
2
3import xml.sax
4
5-- startDocument() : 启动文档时事件处理
6
7-- endDocument() : 结束文档时事件处理
8
9-- startElement(name, attrs): XML开始标签时处理,name是标签的名字,attrs是标签的属性值字典。
10
11-- endElement(name) : 遇到XML结束标签时调用,name是标签的名字。
12
13-- characters :处理内容
14
15-- make_parser : 创建解释器对象并返回
16
17-- parser : 解析
标签属性解析 1'''标签属性解析'''
2
3import xml.sax
4
5class ConfigHandler(xml.sax.ContentHandler):
6
7    def __init__(self):
8
9        self.tag = ""
10
11        self.name = ""
12
13        self.id = ""
14
15    def startDocument(self):
16
17        print("解析开始事件处理")
18
19    def startElement(self, name, attributes):
20
21        print("结束解析XML事件处理")
22
23        self.tag = name
24
25        if name == "hello":
26
27            self.name = attributes["name"]
28
29            self.id = attributes["id"]
30
31            print('name属性值:',self.name)
32
33            print('id属性值:',self.id)
34
35    def characters(self, content):
36
37        print("解析内容事件处理")
38
39    def endElement(self, name):
40
41        print("结束解析XML事件处理")
42
43    # xml结束标签调用
44
45    def endDocument(self):
46
47        print("解析结束事件处理")
48
49
50if __name__ == "__main__":
51
52    # 创建XML解析器
53
54    parser = xml.sax.make_parser()
55
56    # 设置解析器
57
58    parser.setFeature(xml.sax.handler.feature_namespaces, 0)
59
60    # 重写解析处理对象
61
62    Handler = ConfigHandler()
63
64    # 设置解析处理器
65
66    parser.setContentHandler(Handler)
67
68    # 开始解析
69
70    parser.parse("data1.xml")
标签内容解析 1'''标签内容解析'''
2
3import xml.sax
4
5class ConfigHandler(xml.sax.ContentHandler):
6
7    def __init__(self):
8
9        self.tag = ""
10
11        self.name = ""
12
13        self.label = ""
14
15        self.content = ""
16
17    def startDocument(self):
18
19        print("解析开始事件处理")
20
21    def startElement(self, name, attributes):
22
23        print("结束解析XML事件处理")
24
25        self.tag = name
26
27        if name == "type":
28
29            self.name = attributes["class"]
30
31            print(self.name)
32
33        if name == "score":
34
35            self.label = attributes["name"]
36
37            print(self.label)
38
39    def characters(self, content):
40
41        print("解析内容事件处理")
42
43        self.content = content
44
45    def endElement(self, name):
46
47        print("结束解析XML事件处理")
48
49        if name == "score":
50
51            print(self.content)
52
53    def endDocument(self):
54
55        print("解析结束事件处理")
56
57if __name__ == "__main__":
58
59    # 创建XML解析器
60
61    parser = xml.sax.make_parser()
62
63    # 设置解析器
64
65    parser.setFeature(xml.sax.handler.feature_namespaces, 0)
66
67    # 重写解析处理对象
68
69    Handler = ConfigHandler()
70
71    # 设置解析处理器
72
73    parser.setContentHandler(Handler)
74
75    # 开始解析
76
77    parser.parse("data2.xml")
扫码关注我们更多精彩等待你发现往期精选06月26日
● python自动化:用python做一个最简单的聊天机器人,给女朋友发送微信聊天对白【精选】
● python二进制字节流数据读取,bitstring查找、切片字节流处理超方便
● python数据结构:多线程数据处理,优先级队列--Queue
● 传说中的黑客都是破坏网络安全的不法分子吗?python语言为什么能成为黑客神器!【精选】
● python文件应用路径须谨慎,小细节往往出现大事故。程序员品质:不放过一处BUG!
● python移除List列表重复项的常见方式(建议收藏)!
● python如何快速构建出可视化地图,matplotlib可以编辑的世界地图!【精选】
● 普查结果:141178万人,python轻松制作全国第七次人口普查数据分布图、各地区人口数!
● pip自动安装python扩展库,解放码农劳动力,不同版本、不同项目统一安装配置,不用再为不同版本的不同依赖库而抓狂
● python虚拟环境的安装到底有什么意义,用最便捷的方法完成python虚拟环境的安装、配置!【精选】
● 日常校验要精准:Python字符串处理,字符串头尾匹配,内置函数匹配与正则匹配
● 解放双手、程序员不用写代码,快来体验一下?
● 程序员的朋友圈怎么能平平无奇,不用photoshop,几行python代码搞定九宫格朋友圈,快去分享吧!【精选】
● 无所不能的Python是这样实现文件的解压缩的,zipfile扩展库一行代码搞定文件解压缩!
创作不易,点赞、分享支持一下 ~

什么是xml相关文章