花開有時

          花開有時,花落有時,來有時,去有時。不撕扯,只關切;不紀念,只牽掛;不感動,只明白;不尋找,只記得。
          隨筆 - 24, 文章 - 0, 評論 - 54, 引用 - 0
          數據加載中……

          失敗!讀取XML文件

              本來想做個“小玩意”,這個“小玩意”的就是一個通訊錄(之所以這么想是因為手機丟了,好多熟人都聯系不上了)。本來也不難,界面用SWT&Jface做就行了,數據的存儲與讀取可以通過JDBCHibernate調用數據庫。雖然說數據庫的調用我并不是很熟,不過好在這方面的書籍大把大把的有,找找書照著做應該沒有什么問題。但是我并不想用這么“俗”的方法,以前老是聽說XML怎么這么不錯,接觸的也不少,看也能看懂,但是沒有用XML做過數據存儲,于是想能不能不用數據庫而改用XML來存儲通訊錄里的資料。仔細想想應該能行,無非就是一些元素和標識,XML應該挺適合做通訊錄的數據來源。但是想歸想,做歸做,首先要解決幾個問題:

          1、 java中怎么讀XML文件?用什么API來操作?

          因為不能上網,所以我要解決問題只能求助我電腦里的藏書了。找啊找,沒費什么勁就在jdk文檔里與一個ppt文件里發現了解決問題的線索:java里的org.w3c.dom包與org.xml.sax包提供了解決的這個問題應該用到的類。其中dom的意思是Document Object Modelsax的意思是Simple API for XML。在兩個的特點我照ppt抄一下,

          Dom

                  通過樹型結構存取XML文檔

                  由元素節點和文本節點組成

                  可以在樹的某個節點上向前或向后移動

                  SAX相比需要更大的內存

                  org.w3c.dom.*

          Sax

                  串行存取文檔

                  輕量級、快速

                  編程較難

                  僅用于串行存取

                  org.xml.sax.*

          各有各的特點,不管怎么說,對于我這個小玩意,兩個應該都能用。于是我就照著書上的例子試著建了幾個類,寫了一些代碼。這些類分別是DocHandlerXMLtest,還有應該xml文件:test.xml。但是還是失敗了,出現了空指針異常,描述是No value for sax.parser property,出現問題的代碼是Parser p = ParserFactory.makeParser(),問題是我是照著ppt上的代碼寫的,不知道出現了什么問題。后來我發現這是2003年的東西了,ppt上面用的類很多都是過時了的。找別的書也沒有找到解決方法,無奈。

          2、 怎么寫XML文件?

          我對“小玩意”的設計是不僅能從界面上瀏覽通訊錄上的資料,而且還能進行資料的錄入(這應該是基本要求吧)。但是我發現找不到寫XML文件的方法(在我的電腦里找不到)。有一個類java.beans.XMLEncoder應該可以生成指定對象的XML文件,但是好像只能對swing的對象進行的操作。

          不能上網,只能放在以后在說了,今天先放一放。

          posted on 2007-09-24 11:28 花開有時 閱讀(1712) 評論(0)  編輯  收藏 所屬分類: java

          主站蜘蛛池模板: 乳山市| 龙山县| 马公市| 潼关县| 漠河县| 那坡县| 景洪市| 宜黄县| 伊川县| 江山市| 报价| 叙永县| 盐城市| 永清县| 筠连县| 绥棱县| 灌阳县| 方山县| 永善县| 通道| 鄄城县| 永登县| 阳高县| 安吉县| 凤翔县| 东丽区| 和林格尔县| 亚东县| 砀山县| 康平县| 凌源市| 北安市| 视频| 周至县| 会泽县| 湖北省| 新巴尔虎右旗| 汤阴县| 克山县| 皮山县| 美姑县|