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