Java:格式化XML

时间:2018-10-27 15:32:22

标签: java xml

我有这样的XML文件

<?xml version="1.0" encoding="UTF-8" standalone="no"?>    
<linearlayout layout_height="match_parent" layout_width="match_parent" orientation="vertical">
  <textview layout_height="wrap_content" layout_width="match_parent" text="Hello XML!"/>
  <button layout_height="wrap_content" layout_width="wrap_content" text="Click Me"/>
</linearlayout>

我希望元素的每个属性都像这样在自己的行上

<?xml version="1.0" encoding="UTF-8" standalone="no"?>    
<linearlayout 
  layout_height="match_parent" 
  layout_width="match_parent" 
  orientation="vertical">
  <textview 
    layout_height="wrap_content" 
    layout_width="match_parent" 
    text="Hello XML!"/>
  <button 
    layout_height="wrap_content" 
    layout_width="wrap_content" 
    text="Click Me"/>
</linearlayout>

我如何使用Java做到这一点?

2 个答案:

答案 0 :(得分:0)

cltl+shift+alt+l中按xml,然后从打开的弹出窗口中选择重新排列。

答案 1 :(得分:0)

JDOM Java library提供了格式化程序,可以漂亮地打印XML文档。只需读取XML源,然后输出重新格式化的内容即可。

SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(new File(...));

XMLOutputter xo = new XMLOutputter(Format.getPrettyFormat());
String xmlPrettyContent = xo.outputString(doc);
System.out.println(xmlPrettyContent);

您可以获取格式化程序的实例,并根据需要调整设置以自定义输出。