0

尝试制作一个类似 ANT 的实用程序,其中我正在加载 configuration.xml (类似于 ant build.xml )。此 configuration.xml 具有不同的“目标”标签,需要根据目标属性和属性执行。每个目标都有“依赖”目标,必须在执行调用目标之前执行

哪个是此类处理的最佳数据结构?

目前我正在使用 HASHMAP 和 Stack 我正在通过 SAX 解析器读取 configuration.xml 并将每个目标作为对象加载(将其所有属性和依赖项都加载到 HASHMAP 上。)

然后迭代此 Hashmap,并将依赖项保存在堆栈上。一旦构建了堆栈,它就会被弹出并执行每个目标。

这是最佳解决方案还是更好的数据结构?

4

1 回答 1

0

一种方法是使用 XSLT 转换并生成动态执行的 ANT 文件。下面的例子说明了这个原理:

但也许更好的方法是使用像 groovy 这样的动态脚本语言并为您的应用程序创建自定义 DSL 语言。

于 2013-06-05T21:29:07.310 回答