2011-10-19 90 views
0

是否可以存儲org.w3c.dom.Nodeorg.w3c.dom.NodeListJava:can db4o store org.w3c.dom.Node?

public DocumentElement { 
private String name; 
private Node thisNode; 
private NodeList thisList; 
} 

如果沒有,是否有可能要序列化NodeNodeListJSONString爲db4o的存儲?

是否有支持db4o持久化數據類型的列表?我無法在文檔中找到它。

回答

2

一般來說,沒有。節點僅在其文檔的上下文中有意義。但是你可以做的是在一個字符串中生成一個文檔的表示並存儲它。 (當我必須將XML存儲在數據庫中時,我會這樣做,除非在壓縮後存儲它;這對我的應用程序是可以的,因爲它不是數據庫必須能夠查看的字段。)

+0

是的。也許存儲和加載甚至可以工作。但是,由於您無法控制w3c-dom的實現,因此無法預測是否可以使用另一個版本的庫再次加載它。你應該創建自己的節點表示並存儲它。 – Gamlor

+0

DOM幾乎被指定爲只能序列化整個文檔(特別是,您可以向節點請求其父節點)。存儲文件_is_明確定義(它實際上只是一個有趣的字符串)。您也可以製作具有一些節點集副本的新文檔;這是一個非常標準的XML操作。 –

+0

當然,db4o也會存儲引用的文檔(如果它工作的話)。無論如何,直接存儲它是一個糟糕的主意。 – Gamlor