2012-02-10 68 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