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類的各種屬性和方法來得到想要的值的過程。
碼字不易,覺得不錯的看官就點個贊再走吧~
參考文獻:
總結
以上是生活随笔為你收集整理的ihtml2document能不能根据id获取dom_使用DOM进行XML文件的解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python打印长方形_利用python
- 下一篇: 使用yum命令安装mysql_Linux