最終還是手工輸出XML對象可靠

來源:互聯網
上載者:User
xml|對象
 原文

最終還是手工輸出XML對象可靠 2005年 01月06日 和xml打交道,常常是哭笑不得:我為什麼要花那麼大力氣和整個XML文檔打交通呢?實實在在的,我只不過想存取其中一個對象的屬性罷了!!前段時間瞭解了castor覺得這是一個解決方案,不過也還是需要整個文檔的讀寫更新。一來是時間限制不允許當前深入研究,而且那也是一個不算成熟的項目;二來呢,採納的話會和現在的digester讀模數式發生衝突,有點劃不過來。但是象科室設定的更新頻率看來越來越高,再放到XML中唯讀靠手工改看來是不行的。因此打算把科室對象移植進資料庫,但一動手就發現同樣有不划算的地方。

    事實上是發現忽視了一個問題,其實也是XML和關聯式資料庫儲存實質的一個對比內容:XML周邊存取的手段的確不是非常成熟,但是它是以對象的階層儲存資料的,而關聯式資料庫則是平面形式地儲存。我目前打算使用secion轉為關聯式資料庫,目的是為了可以分科室的更改設定更方便,這在XML是一個檔案,而到了關聯式資料庫,卻是整個的一堆的關係表(關係概念中同樣是一個實體,但此實體非彼實體,它意味著反應一個對象的一堆表),而且要與象表類等進行關聯,相當複雜的。當前這也許不是一個好主意,而且,在大項目中使用複雜的關係結構表達數量不多的記錄,似乎是一種成本效益比很低的過時的方法。所以,我猶豫了。

另一個辦法是做一個可更新的xml模件:處理手法包括:

1、修改SectionBase,使它是針對多個科室的多個xml工作,而不是象現在那樣一切解釋把所有的科室讀進去;

2、做一個更新各個科室的xml的方法;無論是casto的,還是其他什麼方法的;

3、做一個更新各個科室的介面,把它連到科室管理台。

這裡的關鍵是第二步。為確認第二步能夠以當前最簡單的方法完成,再次翻看先前下載的關於castor的文章,不過部落格中國真是越來越弱不禁風,居然好久還動不了,過好長時間才把原來的文章開啟再讀一篇。研讀結果仍是一樣的,如果採用castor就意味著要採用它的JDO,而不僅僅是XML的輸出,而目前我的讀入主要是使用digester;所以這裡包含著更大範圍的修改,而且包含著更大不定性的試用;這也是我上兩個星期暫時放開castor的原因:目前沒有時間深入研究它的使用思想和實際應用。看來,只能採用原始點的SAX或甚至字串處理了。

再考慮一下常用的sax/xalan/jaxp/jdom幾種處理手法,如果不是單純對著非對象化的文檔內容工作,就是需要寫一個XSLT/和轉換器,而無論如何,要與一貫的JAVA對象/XML對象匹配的模式一起工作,還必須做到讓上面的這些文檔對象可以與digester後的JAVA對象互換的方法:沒聽說過!!從digester都沒有幾個人真的用過的情況下,我看就算上論壇問那幾個國內國外的老兄都是白問。我想這種方法如果有,一定就在 Digester的具體使用中,從jdom中獲得對象,以及重新轉為document對象——不過,沒有!!

看來,我要考慮一下自已實現的難道和可重用性是怎麼樣的。......一想下來,其實這也不是什麼難事,只需要在每個類那裡實現一個介面,比如說 write,然後逐級調用不就搞惦了嗎?何必捨近求遠,找些不可靠的東西試用呢?一通百通,實際上手工輸出對象字串一點都不是一件恐怖的事,我是讓那些文章作者給唬住了,關鍵就在於這是按對象輸出,程式量並不算大,而且也是挺好管理的。相比寫servlet輸出,小意思啦。

原始的方法不見得就是落後的,合適就行!


相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。