2012-02-10 70 views
1

我使用Batik來操縱SVG XML並顯示更改。然而,默認情況下,這涉及使用極難使用的org.w3c.dom。是否可以使用另一個DOM庫來修改XML,但它仍然可以與Batik一起使用?也許有一個org.w3c.dom的包裝?我相信DOM表示中的對象實際上是Batik子類,所以除非我想重新渲染整個SVG,否則我不能將其轉換爲其他表示並返回。處理蠟染的SVG XML

+0

您是否考慮過使用XSL來操縱XML? – 2012-02-10 18:58:29

回答

2

dom庫不是很難使用。你需要了解工廠模式,然後他們非常簡單。有點冗長,但直截了當。 編寫一些適合您需求的幫助函數也是相當簡單的,比如drawLine函數只是產生一個線元素等。

試一試,並練習您的DOM技巧。你知道,所有的網頁瀏覽器也都使用DOM。

據我所知,Batik會用一棵渲染樹來「註釋」文檔。但我不想直接操縱渲染樹。

哦,並確保包裹更新隊列中的任何更改。就像你在Java上使用Swing/AWT的EDT一樣。

+0

我應該用不同的方式 - 他們不好玩!即使與JDOM或XOM相比。 你是指「更新更新隊列中的更改」是什麼意思? – schmmd 2012-02-22 17:17:33

+0

與EDT爲Java Swing所做的原理相同。不要從錯誤的線程修改DOM,否則更改可能不會顯示。 – 2012-02-22 17:45:11