Eclipse XML格式化程序

jav*_*y79 8 xml eclipse plugins

什么是内置Eclipse XML编辑器的免费替代品?

与IDE一起打包的那个有两个主要的格式问题:

  1. 格式化程序尝试解析转义的字符,就好像它们未被转义一样.例如'<' 被视为'<',导致格式化程序"停止".
  2. 元素之间的空白不受尊重:

    <foo>   text </foo>
    
    Run Code Online (Sandbox Code Playgroud)

    将格式化为:

    <foo>text</foo>
    
    Run Code Online (Sandbox Code Playgroud)

我们正在使用Eclipse 3.4.

更新

问题#1是一个已知的错误:格式化XML文件中的实体问题.

显然,空白格式是预期的功能.我已经要求将其作为一个选项提供或建议在我自己的插件中修复它,但截至目前为止,没有答案.

jav*_*y79 8

这不太理想,我希望有人有更好的解决方案,但它有效:

使用dom4j构建一个简单的应用程序:

public static void main( final String[] args ) throws Exception {
    String text = FileUtils.readFileToString( new File( args[ 0 ] ) );
    OutputFormat format = OutputFormat.createPrettyPrint();
    format.setTrimText( false );

    XMLWriter writer = new XMLWriter( System.out, format );
    writer.write( DocumentHelper.parseText( text ) );
}
Run Code Online (Sandbox Code Playgroud)

创建一个可运行的jar,(可选)批处理脚本,并添加为外部工具.当然,您可以尝试使用XMLTidy或其他命令行XML格式化程序,但我使用dom4j获得了更好的结果.

  • +1.编程是为数不多的专业之一,你可以*创建*你每天使用的工具,更多的应该利用它. (3认同)