Clojure应用程序数据交换

时间:2009-09-11 03:30:39

标签: xml clojure s-expression

我想在clojure应用程序之间移回数据和第四。应用程序设置和一些状态信息。

我无法决定使用xml还是s-expression,你认为每种方法的优缺点是什么?

2 个答案:

答案 0 :(得分:4)

以编程方式,最方便的方法是将打印功能简单地用于文件,并从文件中使用读取功能。一定要退房 print-dup read-eval 如果你选择这种方法。 优点:简单,易用,人类可读/可编辑。缺点:语言特定。

Clojure还有一个内置的XML阅读器,因此如果您需要让数据以某种方式与其他XML应用程序互操作,那么这是一个有效的选择......但除非您有特殊需要,否则我不建议使用XML为了它。优点:有时是要求。缺点:丑陋,额外的工作。

如果你想要替代s-exp,clojure-contrib中还有一个很棒的JSON库。优点:可互操作。缺点:额外的工作。

以下是关于这些方法的一个很好的讨论: http://groups.google.com/group/clojure/browse_thread/thread/4042e7a087f43c9a/a90b9bc58cc9ec3?q=data+file+group:clojure#0a90b9bc58cc9ec3

答案 1 :(得分:2)

如果此文件仅供内部使用(其他程序无需读取它们),那么这是一个实现细节,请使用最简单的解决方案:s-exprs。 否则,JSON或XML。