使用sax解析xml
2019獨角獸企業重金招聘Python工程師標準>>>
在java中,解析xml文檔的方式有兩種原生的方法,分別是:Dom解析和Sax解析。
Dom解析功能很強大,可增刪改查,操作時將xml文檔以文檔對象的方式讀取到內存中,適用于小文檔。
Sax解析是從頭到尾每一行每一個元素讀取內容,修改較為不便,但適用于只讀的大文檔。
我們主要講解Sax解析,其余放在后面。
Sax采用事件驅動的方式解析文檔。簡單點說,如同在電影院看電影一樣,從頭到尾看一遍就完了,不能回退(Dom可來來回回讀取)。
在看電影的過程中,每遇到一個情節,一段淚水,一次擦肩,你都會調動大腦和神經去接收或處理這些信息。同樣,在Sax的解析過程中,讀取到文檔開頭、結尾,元素的開頭和結尾都會觸發一些回調方法,你可以在這些回調方法中進行相應事件處理。這四個方法是:startDocument() 、?endDocument()、 startElement()、 endElement。此外,光讀取到節點處是不夠的,我們還需要characters()方法來仔細處理元素內包含的內容,將這些回調方法集合起來,便形成了一個類,這個類也就是我們需要的觸發器。
一般從Main方法中讀取文檔,卻在觸發器中處理文檔,這就是所謂的事件驅動解析方法。
?
如上圖,在觸發器中,首先開始讀取文檔,然后開始逐個解析元素,每個元素中的內容會返回到characters()方法。接著結束元素讀取,所有元素讀取完后,結束文檔解析。
?
?
轉載于:https://my.oschina.net/u/2971691/blog/809531
總結
以上是生活随笔為你收集整理的使用sax解析xml的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux自学_shell脚本for详解
- 下一篇: Linux源码Kconfig文件语法分析