在Emacs中格式化XML

时间:2010-02-01 23:03:20

标签: xml emacs

我有一个包含巨大XML文件的项目,我正在复制并粘贴到Emacs进行编辑。它只是一行,所以我希望有一个工具来为每行创建一个XML元素。我可以使用Emacs功能吗?我想我甚至会选择与Emacs很好地集成的命令行工具,但这并不理想。

3 个答案:

答案 0 :(得分:5)

您正在寻找的功能通常称为“漂亮打印”。 emacs有一个漂亮的打印功能:

http://sinewalker.wordpress.com/2008/06/26/pretty-printing-xml-with-emacs-nxml-mode/

另外,请查看具有其他选项的this SO question

答案 1 :(得分:3)

我为此编写了一个小的Elisp函数,它依赖于libxml中的xmllint:

(defun format-xml ()
  (interactive)
  (shell-command-on-region 1 (point-max) "xmllint --format -" (current-buffer) t)
)

答案 2 :(得分:1)

我多年来使用xml-parse来重新格式化XML。您在该程序包中需要的特定命令是xml-reformat-tags。希望有所帮助!