ihtml2document能不能根据id获取dom_使用DOM进行XML文件的解析
1. 什么是XML?
xml是格式化的纯文本,用于存储数据和格式。
2. DOM是什么?
DOM是xml的一种解析方法(此外还包括SAX等,此处不提),它将xml文件抽象成为一个树型结构,这棵树个各个树叶就是节点。也就是说,DOM 定义了所有文档元素的对象和属性,以及访问它们的方法(接口)。
DOM的主要性质:
- 文档是一个文档节点,即根节点,对象树型是domTree.documentElement
- 每个 XML 标签是一个元素节点,元素节点接口方法见链接, 主要包括的方法和属性有:
- getElementsByTagName():根据tag获取elements
- getAttributeNode():获取特定属性值
- childNodes:子节点的nodelist
- ...
- 包含在 XML 元素中的文本是文本节点
- 每一个 XML 属性是一个属性节点
- 注释属于注释节点
3. 使用dom解析xml例程
- 例程说明
“博主用了一个图像标注系统CVAT进行车道线的标注,如下图,系统输出的标注结果就是一个xml文件。我们的label有6类,'left_3', 'left_2', 'left_1', 'right_1', 'right_2', 'right_3'。我们的工作就是解析xml文件。”
我的xml文件如下所示, 可以复制下来进行代码测试。
<?xml version="1.0" encoding="utf-8"?>
对应的原始图像在下面
2. xml文件说明
为了方便可以使用浏览器打开,是下面这样的格式。可以看到,根节点就是annotations, 其子节点包括version、meta、image等等,其中meta->task->labels是我们规定的标注规范中的label类别,包括"left_3"...."right_3"等。另外各个image节点就是我们对应的每一张图像的标注结果,子元素节点包括多个polyline,每个polyline就是一条车道线,采用str类型的点对表示。另外,image节点中包含了"id","name","width","height"等等属性节点,我们可以通过"name"属性节点找到对应的图像名称。
3. 上代码
#-*-coding:utf-8-*-
运行脚本结果如下图所示,各个车道线分别由不同的点集组成。
总结
DOM将XML看成一个节点,节点类型包括元素节点,文本节点等,解析过程就是利用element类的各种属性和方法来得到想要的值的过程。
码字不易,觉得不错的看官就点个赞再走吧~
参考文献:
- xml dom课程,w3school
- xml中element的属性和方法
- cvat图像标注系统
ihtml2document能不能根据id获取dom_使用DOM进行XML文件的解析相关推荐
- ihtml2document能不能根据id获取dom_回到基础:什么是DOM及DOM操作?
译者:前端小智 来源:valentinog 为了保证的可读性,本文采用意译而非直译. 文本主要介绍文档对象模型(DOM),了解什么是DOM操作,以及如何使用砶 DOM API 与 JS 中的 Web ...
- ihtml2document能不能根据id获取dom_一段监视 DOM 的神奇代码
作者:Eddie Aich 翻译:疯狂的技术宅 原文:https://dev.to/eddieaich/spy-on-the-dom-3d47未经允许严禁转载 通过使用此模块,只需将鼠标悬停在浏览器中 ...
- setvlet:控制台获取前端表单以及xml文件数据信息
一,创建maven项目,编写xml 首先我们从创建一个maven 项目可以使用webapp模板,然后配置web.xml文件 可以直接复制以下代码 <web-appxmlns:xsi=" ...
- ihtml2document能不能根据id获取dom_JavaScript学习笔记(十三)-- DOM(上)
DOM(上) DOM(Document Object Model): 文档对象模型 其实就是操作 html 中的标签的一些能力 我们可以操作哪些内容 获取一个元素 移除一个元素 创建一个元素 向页面里 ...
- JQuery笔记-通过tag、class、id获取指定的dom
如下面这个dom: 从上面观察,这个a,上面是一个div其中的class是down. 通过: $("div .down a") #或 $("div.down a" ...
- android获取apk名称_apk是什么文件
很多人在手机上安装软件时会发现有一个叫apk的文件,这就让人产生疑惑了,apk是什么文件,apk文件怎么打开呢?下面就个大家介绍一下吧. apk是什么文件 APK是Android Package的缩写 ...
- VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷
工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求.(转载请指明出处)网上关于方案大致存在两种方案: OpenProcess->GetModuleFileName OpenPr ...
- 使用 spring 的 IOC 解决程序耦合——获取spring的Ioc核心容器,并根据id获取对象、核心容器的两个接口(ApplicationContext、BeanFactory)引发出的问题
IOC概念和spring中的IOC 明确 ioc 的作用: 削减计算机程序的耦合(解除我们代码中的依赖关系). 使用 spring 的 IOC 解决程序耦合 获取spring的Ioc核心容器,并根据i ...
- 最新!中国天气网api接口调用,key获取方式,数据请求秘钥获取,城市id获取方法
以前的天气获取方式已经不支持了,虽然能获取到数据,但是获取到的信息已经不对了. 中国天气网提供的最新接口需要数据请求秘钥key.而且有效期只有7天,用完了还要重新购买,很麻烦,但是获取到的内容绝对是最 ...
最新文章
- 虚拟机访问svn服务器超时_SVN卡顿原因及简单修复方法
- [转]MySQL Explain详解
- 图像处理之直方图均衡MATLAB代码实现
- SQL Server 2016 行级别权限控制
- IT增值服务实践心得体会:企业客户的钱比个人客户好赚得多
- faiss python安装_faiss入门
- HTML+CSS+JS实现 ❤️ html5响应式图片轮播❤️
- 从一个hibernate配置文件中了解到的东西
- java base64编码的三种方式
- Android SDK 更新时修改hosts文件仍然无法更新,可试试这个方法……
- 转的一个itoa实现(效率很高,并且能够正确处理INT_MIN)
- Vue——组件化开发
- Archlinux连接HDMI分屏后没声音
- vue cli4接入环信webIM
- PHP Failed opening required
- 人生中最重要的是什么?
- 全国程序员高考卷,开始答题!
- 广告平台的商业模式,行业分析
- springboot+websocket构建在线聊天室(群聊+单聊)
- Oracle配置服务