是否有重新格式化XML文件的工具,以便在一行上有两个属性?

时间:2013-10-10 18:32:56

标签: xml formatting

我有许多当前格式化的XML文件,因此所有属性都在一条非常长的行上。我想自动重新格式化,因为手动操作是繁琐且容易出错的。我找到了几个重新格式化的选项,以便每行都有一个属性。我使用Google找到了这些选项。其中一些可以通过以下链接找到。

问题是我宁愿每行有两个属性。是否有支持该选项的工具?

1 个答案:

答案 0 :(得分:1)

当使用indent = yes运行时,Saxon序列化程序会将属性移动到新行,否则行将变得太长。可以使用序列化选项saxon:line-length设置行长度,默认为80.(旧的打孔卡!)

如果您只想在不进行任何转换的情况下格式化文件,最简单的方法是运行身份查询“。”,如下所示:

java net.sf.saxon.Query -qs:. -s:myxml.xml !indent=yes !saxon:line-length=50

请注意,对于某些shell处理器,“!”需要反斜杠逃脱;我不认为这适用于DOS命令行处理器。

还有一个控制属性顺序的选项但是(对不起!)没有直接控制每行输出属性数的方法。如果您喜欢编程,Saxon的序列化程序可以高度自定义。