2010-05-30 68 views
3

我有類似格式的XML文件:追加並預先考慮到XML文件使用Clojure

<root> 
    <baby> 
     <a>stuff</a> 
     <b>stuff</b> 
     <c>stuff</c> 
    </baby> 
     ... 
    <baby> 
     <a>stuff</a> 
     <b>stuff</b> 
     <c>stuff</c> 
    </baby> 
</root> 

而一個Clojure的哈希地圖類似於:

{:a "More stuff" :b "Some other stuff" :c "Yet more of that stuff"} 

而且我想前置XML(¶)從<root>標記之後該散列映射和之前創建的第一<baby>

(¶)前面加上所述的XML將是這樣的:

<baby> 
     <a>More stuff</a> 
     <b>Some other stuff</b> 
     <c>Yet more of that stuff</c> 
    </baby> 

我還希望能夠從文件中刪除最後一個(或n ...)<baby>...</baby> s。

我努力想出一個習慣用法是預先加入並附加這些數據。我可以做原始的字符串操作,或者使用xml/parse和xml-seq來解析XML,然後遍歷節點並(以某種方式?)替換那裏的數據,但這似乎很麻煩。

任何提示?想法?提示?指針?他們都會很多讚賞。

謝謝!

+2

Isaac,我沒有時間現在寫詳細的答覆,但既然您已經知道了Enlive基礎知識,請參閱http://stackoverflow.com/questions/2872921/insertions-成拉鍊樹-ON-XML的文件,在-的Clojure/2876510#2876510 – cgrand 2010-05-30 07:56:31

回答

-6

由於您正在使用簡單且有用的「模式」(正如我所看到的,您有一個JSON對象和XML中的相同數據)。

如果您正在使用JavaScript,.NET,PHP,Ruby,C++,Java ......,那麼可以非常輕鬆地完成。爲了簡化編程,依靠「數據模式」是一件好事(如果它不會影響性能太多)。

你可以使用JSON解析器來獲取對象到XML的讀/寫器...

請告訴我languague你在編碼? JSON和XML解析器可用於很多PL,並且可以在幾分鐘內處理您的數據樹。

我希望這個幫你有點...評論,如果我不清楚......

並請訪問www.developerit.com的任何信息編程,IT,軟件和網絡設計。