【问题标题】:Manipulate SVG XML for Batik为蜡染处理 SVG XML
【发布时间】:2012-02-21 16:17:37
【问题描述】:

我正在使用 Batik 来操作 SVG XML 并显示更改。然而,默认情况下,这涉及使用极难使用的org.w3c.dom。是否可以使用另一个 DOM 库来修改 XML,但它仍然可以与 Batik 一起使用?也许org.w3c.dom 有一个包装器?我相信 DOM 表示中的对象实际上是 Batik 子类,因此除非我想重新渲染整个 SVG,否则我无法转换为另一种表示并返回。

【问题讨论】:

  • 您是否考虑过使用 XSL 来操作 XML?

标签: xml svg batik


【解决方案1】:

dom 库并不是那么难用。您需要了解工厂模式,然后它们就非常简单了。有点冗长,但直截了当。 编写一些满足您需求的辅助函数也相当简单,例如只生成线条元素的drawLine 函数等。

试一试,练习一下您的 DOM 技能。你知道,所有的网络浏览器也都使用 DOM。

据我所知,Batik 会用渲染树“注释”文档。但我不会尝试直接操作渲染树。

哦,请确保将所有更改包含在更新队列中。就像您对 Java 上的 Swing/AWT 的 EDT 所做的那样。

【讨论】:

  • 我应该换一种说法——它们用起来不好玩!即使与 JDOM 或 XOM 相比也是如此。 “包装更新队列中的任何更改”是什么意思?
  • 与 EDT 对 Java Swing 的原理相同。不要从错误的线程修改 DOM,否则更改可能不可见。
猜你喜欢
  • 2015-12-19
  • 2019-08-08
  • 2017-07-15
  • 1970-01-01
  • 2015-07-10
  • 2014-08-16
  • 2014-09-08
  • 2013-09-06
  • 1970-01-01
相关资源
最近更新 更多