Text-Processing

Vim:使 XML 文本“漂亮”

  • January 24, 2013

是否有一種簡單的方法vi可以讓您的 XML 文本“漂亮”?

例如:

我要這個..

           <person>
 <name>Nick</name>
<age>26</age>
        <gender>male</gender>
<occupation>doctor</occupation>
   </person>

成為這個……

<person>
   <name>Nick</name>
   <age>26</age>
   <gender>male</gender>
   <occupation>doctor</occupation>
</person>

我最幸運的是:

:%!xmllint --format %

但是,它對您的標籤很嚴格,因此如果您的開始和結束標籤不匹配,它將出錯。它還會在您的文件頂部添加一個 XML 聲明(如果您也沒有的話)。

此頁面推薦以下內容,儘管我無法使其正常工作:

:set filetype=xml
:filetype indent on
gg=G

我測試了它,它似乎有點工作。不完美,但它完成了工作。

如果這不起作用,您可以在 Python 中使用 minidom 為您設置格式。

import xml.dom.minidom

xml = xml.dom.minidom.parse(filename)
formatted_xml = xml.toprettyxml()

引用自:https://unix.stackexchange.com/questions/62464