【问题标题】:Appending and prepending to XML files with Clojure使用 Clojure 追加和前置 XML 文件
【发布时间】:2010-05-30 02:50:02
【问题描述】:

我有一个类似于以下格式的 XML 文件:

<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"}

我想在 &lt;root&gt; 标记之后和第一个 &lt;baby&gt; 之前添加从这个哈希映射创建的 XML (¶)

(¶) 要添加的 XML 如下所示:

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

我还希望能够从文件中删除最后一个(或 n...)&lt;baby&gt;...&lt;/baby&gt;s。

我正在努力想出一个惯用的方法是预先添加和附加这些数据。我可以进行原始字符串操作,或者使用 xml/parse 和 xml-seq 解析 XML,然后遍历节点并(不知何故?)替换那里的数据,但这看起来很混乱。

有什么建议吗?想法?提示?指针?他们都会非常感激。

谢谢!

【问题讨论】:

标签: xml clojure


【解决方案1】:

你想要的是一个拉链。请参阅Insertions into Zipper trees on XML files in Clojure 以获得您问题的一些好的答案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2012-08-06
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多