close
在 java 的世界裡,XML 的處理,如果使用內建的 function 來寫程式,一定會哭出來。
我以前就是深受痛苦,跟 msxml 比起來,真的沒得比。
 
後來出現了許多 third party 的 package 可以使用,雖然是方便許多,
但是我已經喜歡上 msxml 的使用方式了。
讓我又多了一個離不開 VB 的理由。
 
以下的連結,是簡單介紹 xml 在使用時,不同種類的 parser 的使用觀念。
在文中提到的 api 就是我們在寫程式的時候會使用的 function call。
其中提到有 5 種不同的 parser,使用方法也是大不相同。
 
以 msxml 來說,我最常用到的就是 selectnodes 的功能,這就是屬於第 5 種。
作者叫它做 query API。
當然,msxml 也是有第 1 種(也就是 SAX parser, push API),第 3 種(也就是 DOM parser, tree-based API)
對於我寫過的程式來說,都是使用 query API 而已。在需要增加或減少 content 的時候,才會使用一點 tree-based API。
 
把 xml parser 的進化過程來看,我之前寫的那些 parser 算是 push API。
如果要好用,是不是我也要把它變成 tree-based API 或是 query API 呢?
或許有必要,或許沒必要。考量的重點應該就在於 xml 的內容要不要很複雜了。
如果其內容不常需要在程式內改變,則 push 就很好了。像 parse log,當然就用 push,快又有效。
如果不是的話,才有必要做出 tree-based。如果常常要取用某一個值,才會需要 query。
所以,有空再慢慢來吧。
我離題了…
 
這篇文章有點年紀了,看來現在比較流行的 package 是
dom4j, jdom, xom。
而 dom4j 已經有 query API 了,不知道 jdom 有沒有,從網頁上看不到。
我得趕快把我 VB 的程式換到 java 去了。已經拖過兩年了。
 
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 betaparticle 的頭像
    betaparticle

    betaparticle的部落格

    betaparticle 發表在 痞客邦 留言(0) 人氣()