如何使用Emacs Lisp编辑XML/DOM

3

如果可能的话,我希望你能以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.eldom.el进行了编辑,但现在我需要将这个lisp结构转换回xml数据


1
今天我遇到了完全相同的问题。Trey Jackson在这个问题中的代码https://dev59.com/CXRA5IYBdhLWcg3w2x-W让我接近了解决方案。但是它并不完全符合我的需求,因为如果Sexp包含任何空白节点,Trey的解决方案会吞掉空白。我非常接近自己实现xmlgen,应该可以按照xml-parse-*函数解析之前精确地输出xml。一旦完成,我将发布一个答案。 - Upgradingdave
1个回答

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接