两个xml文件的clojure分层差异

两个xml文件的clojure分层差异,xml,clojure,diff,Xml,Clojure,Diff,我正在尝试对两个小xml文件进行分层区分。Clojure.data/diff是让我接近的: (clojure.data/diff (clojure.xml/parse "file1.xml") (clojure.xml/parse "file2.xml")) clojure.data/diff将返回before和after,但它不维护xml结构(no:tag元素),并且before和after不能轻松转换为xml(例如使用clojure.xml/emit) 如何在clojure中的两个xml文

我正在尝试对两个小xml文件进行分层区分。Clojure.data/diff是让我接近的:

(clojure.data/diff (clojure.xml/parse "file1.xml") (clojure.xml/parse "file2.xml"))
clojure.data/diff将返回before和after,但它不维护xml结构(no:tag元素),并且before和after不能轻松转换为xml(例如使用clojure.xml/emit)


如何在clojure中的两个xml文件上进行分层差异?

这看起来像clojure.data中的增强请求。你能在jira页面上打开一个问题吗


如果它包含一个补丁(先签署contrib协议),那就更好了。

有独立的XML扩散方法。您可以将库包括在内,然后从Clojure中调用它。

我不确定这是否是一个bug,Clojure.data/diff无法准确修复我试图对xml文件执行的操作。它正确地告诉了我区别是什么,但它确实维护了一个可以轻松转换为xml的结构。当两个文件都有:tag键时,它不会出现在差异中-它只会出现在元组的最后一项中。这在技术上是正确的,但对我来说,我丢失了有关xml结构的信息,特别是标记名。很抱歉,我假设:标记被删除,并且没有正确区分。所以这更像是一个增强请求。是的,我还在考虑如何处理它。。这里我的目标是对2个xml文件进行分层区分,以准确确定删除、添加或更新了哪些内容(以及在树中的位置)。