Rob*_* IV 37 vim editors xml vi text-processing
是否有一种简单的方法vi可以使您的 XML 文本“漂亮”?
例如:
我要这个..
<person>
<name>Nick</name>
<age>26</age>
<gender>male</gender>
<occupation>doctor</occupation>
</person>
Run Code Online (Sandbox Code Playgroud)
成为这个...
<person>
<name>Nick</name>
<age>26</age>
<gender>male</gender>
<occupation>doctor</occupation>
</person>
Run Code Online (Sandbox Code Playgroud)
Nat*_*ate 48
我最幸运的是:
:%!xmllint --format %
Run Code Online (Sandbox Code Playgroud)
但是,它对您的标签很严格,因此如果您的开始和结束标签不匹配,则会出错。它还在您的文件顶部添加了一个 XML 声明(如果您也没有)。
:set filetype=xml
:filetype indent on
gg=G
Run Code Online (Sandbox Code Playgroud)
我测试了它,它似乎有点工作。不完美,但它完成了工作。
如果这不起作用,您可以在 Python 中使用 minidom 为您设置格式。
import xml.dom.minidom
xml = xml.dom.minidom.parse(filename)
formatted_xml = xml.toprettyxml()
Run Code Online (Sandbox Code Playgroud)