【发布时间】:2012-09-08 22:11:52
【问题描述】:
如果可能的话,我如何在 Emacs Lisp 中以编程方式编辑 xml 数据?
我需要做的是以编程方式将新节点添加到 xml 中的任意位置:
<root>
<child>
</child>
</root>
(xml-add-element xml "hello" (xml-element-by-tagname xml "child"))
<root>
<child>
<hello></hello>
</child>
</root>
编辑:我已经将 xml 解析为 lisp 结构并使用 xml.el 和 dom.el 对其进行编辑,但现在我需要将 lisp 结构 转回xml 数据.
【问题讨论】:
-
有趣的是我今天遇到了完全相同的问题。来自这个问题的 Trey Jackson 的代码stackoverflow.com/questions/797442/… 让我非常接近。但这不是我需要的 100%,因为如果 sexp 包含任何空白节点,Trey 的解决方案会吃掉空白。我非常接近我自己的 xmlgen 实现,它应该完全按照 xml-parse-* 函数解析之前的方式输出 xml。我会在完成后立即发布答案。