2010-11-18 132 views
0

我必須在Java 6中創建桌面應用程序。程序應該能夠使用XML文件(發送/接收)與其他系統進行通信。每個XML文件都與其XSD連接,描述其內容,用戶名和文檔狀態的標籤。應用程序應提供諸如搜索,執行等XML內容的功能。在數據庫中存儲XML文件

現在的問題是:我應該如何存儲所有這些保留邏輯連接的信息?

我想出了一個使用XML數據庫--BaseX來存儲它的想法。換句話說,將XML文件與連接到它們的信息存儲在一個大的XML(數據庫)文件中。

示例數據庫:

<?XML VERSION="1.0"?>
<mySampleRecord id="1">
<XMLcontent> // Content of XML file (...) </XMLcontent>
<XMLschema> // Content of XSD file (...) </XMLschema>
<tags>j2ee java xml</tags>
<username>File Owner</username>
<status>received</status>
</mySampleRecord>
<mySampleRecord id="2">
<XMLcontent> // Content of XML file (...) </XMLcontent>
<XMLschema> // Content of XSD file (...) </XMLschema>
<tags>doc xls mdb</tags>
<username>Admin</username>
<status>sent</status>
</mySampleRecord>

我也想知道如果有可能BaseX閱讀<XMLContent>節點,然後把它的內容作爲XML使我能夠執行的XQuery操作。

希望它是可以理解的;)

感謝您的任何提示和建議。

回答

1

沒有完全明白。 :)

所以你想存儲幾個XMLFiles與相應的架構在另一個XML文件?

爲什麼這樣做?只要分別對待每個XML文件。 將它們作爲.jar文件放入您的.jar文件中,這樣每個客戶端都可以訪問它。

歡呼

0

如果我理解正確的話,你應該創建表 SAMPLE_RECORD與領域 ID(PK) USER_NAME 狀態

然後創建帶有字段 RECORD_ID(FK表記錄)表TAG 標籤

創建類SampleRecord 現在編寫解析XML並創建SampleRecord實例的代碼。 然後實現將SampleRecord的集合存儲在數據庫中並從中讀取它的邏輯。您可以使用ORM,也可以只使用舊的普通JDBC。

就是這樣。

+0

我不認爲他使用關係數據庫,聽起來像他正在考慮一個本機Xml數據庫(NXD)。在這種情況下,存儲的切片和切塊將由DB完成。 – StaxMan 2010-11-18 19:09:55

+0

最後,我找到了滿足我需求的完美解決方案。我決定使用SQLite而不是XML數據庫。現在我有了一個無服務器容器來存儲我的數據,我可以使用SQL表達式來獲得我想要的內容。剩下的唯一問題就是設計一個數據庫。 AlexR我將在這種情況下使用您的解決方案。感謝大家! – monczek 2010-11-19 12:48:46