2つの小さなxmlファイルを階層的差分にしようとしています。2つのxmlファイルの階層的差分を表示する
(clojure.data/diff (clojure.xml/parse "file1.xml") (clojure.xml/parse "file2.xml"))
clojure.data/diffは前と後が返されますが、それはXML構造を維持しません(なし:タグは要素)と、前と後にはできません簡単にClojure.data/diffは近い私を取得していますxmlに変換する(clojure.xml/emitを使用するなど)。
clojureで2つのxmlファイルに対して階層差分を実行するにはどうすればよいですか?
私はバグではないと確信していますが、clojure.data/diffはxmlファイルで何をしようとしているのか正確には修正できません。違いが何であるかを正確に教えてくれますが、xmlに簡単に変換できる構造を維持しています。 :タグキーは、両方のファイルがそれを持っているときの違いには現れません。タプルの最後の項目にしか終りません。これは技術的には正しいですが、私にとってXML構造、特にタグ名に関する情報は失われます。 –
申し訳ありませんが、私は:タグはどこにドロップされ、正しくは分かれていないと仮定していました。したがって、これはより高度な要求に似ています。 –
ya、私はまだそれにアプローチする方法を考えています。ここでの目標は、削除されたもの、追加されたもの、更新されたもの(ツリーのどこにあるものか)を正確に判断するために2 xmlファイルに階層的差分を加えることです。 –