news 2026/10/23 1:40:15

【功能性模块】功能性模块:(2)解析xml

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【功能性模块】功能性模块:(2)解析xml

功能性模块:(2)解析xml

一、 模块介绍

为啥要写这个模块呢,通常公司给的标注文件都是以xml的格式,所以新手第一课就是解析xml,之前lz用的方法比较繁琐,现在有个还不错的方法,就记录一下吧。

二、代码实现

""" <object> <name>1</name> <angle_flag>face</angle_flag> <face_flag>0</face_flag> <flag>rectangle</flag> <pose>Unspecified</pose> <truncated>0</truncated> <difficult>0</difficult> <bndbox> <xmin>1201</xmin> <ymin>1161</ymin> <xmax>1566</xmax> <ymax>1576</ymax> </bndbox> <pose>1<coordinate><x>1276</x><y>1334</y></coordinate></pose> <pose>2<coordinate><x>1301</x><y>1338</y></coordinate></pose> </object> """# 解析对应的xml,并保存至对应位置defparseXml(xml_path):tree=ET.parse(xml_path)root=tree.getroot()objects=root.findall('object')forobjinobjects:print('obj: ',obj)cls=obj.find('angle_flag').textprint("the cls is: ",cls)ifcls=='face':kps_total=[]kps_dict={}kps_eye=[]bndbox=obj.find('bndbox')xmin=float(bndbox.find('xmin').text)ymin=float(bndbox.find('ymin').text)xmax=float(bndbox.find('xmax').text)ymax=float(bndbox.find('ymax').text)# 按照数据集的方式,进行归一化width=xmax-xmin+1height=ymax-ymin+1bbox=[xmin,ymin,width,height]forposeinobj.findall('pose'):# print(pose)pose_id=pose.textifpose.find('coordinate')isnotNone:pose_x=pose.find('coordinate').find('x').text pose_y=pose.find('coordinate').find('y').text

这里主要就是截取了一下段解析xml的代码,其中

<pose>1<coordinate><x>1276</x><y>1334</y></coordinate></pose>

这个中的1怎么取LZ还想了好久。。。结果其实只要一行代码即可解决

cls=obj.find('angle_flag').text

每天进步一点点吧,奥利给!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 1:39:35

【c++】c语言入门到c++使用高手: c语言入门之指针(六)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:38:45

【工程与环境】Tensorflow 1.14: Eigen using failed(OpenCV冲突问题)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:38:44

【工程与环境】Ubuntu:环境变量PATH、LIBRARY_PATH和LD_LIBRARY_PATH的区别

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:38:27

【工程与环境】Ubuntu16.04下实时显示GPU使用情况

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:38:09

多人协作AI视频生产:LibTV团队版如何重构工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:37:46

基于BERT的多维度情感分类实战:从数据标注到模型上线全复盘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华