XML 格式缩进标记匹配 - Linux



我有一个XML文件,它的格式非常压缩,所有标签都粘在一起,就像

<PersonalData><IndividualDetails><Title>Mr</Title><Gender>Male</Gender><FirstName>Hae</FirstName><Surname>JONES</Surname><Occupation>Banker</Occupation><DateofBirth>4/6/76</DateofBirth><LastKnownAddress></LastKnownAddress><LastKnownPostCode>00145</LastKnownPostCode><OtherNames></OtherNames></IndividualDetails><OccupationDetails><Company>SD Bank</Company><CompanyAddress>Sunset Boulevard NY</CompanyAddress><ContactNo>335698457</ContactNo></OccupationDetails></PersonalData>

shell中是否有任何命令可以正确格式化标签。如果不缩进,仅将标签添加到自己的行中也可以解决我的问题。

xmllint --format <your-xml-file>

$ cat test.xml
<a><b>c</b></a>
$ xmllint --format test.xml
<a>
  <b>c</b>
</a>
$ xmllint --format test.xml > test.formatted.xml
$ cat test.formatted.xml
<a>
  <b>c</b>
</a>
$
tidy -xml -i -q

-xml - 指定输入格式正确的 XML

-q - 抑制不必要的输出

-i - 缩进元素内容

Tidy可以处理文件和标准/标准输出

echo '<a><b>c</b></a>' | tidy -xml -i -q

将产生

<一>c

相关内容

  • 没有找到相关文章

最新更新