import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.OutputFormat;
import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.Writer;
/**
* Created by IntelliJ IDEA.
* User: tsaowe
* Date: 11-9-1
* Time: 上午9:13
*/
public class XmlFormatter {
public String format(String unformattedXml) {
try {
final Document document = parseXmlFile(unformattedXml);
OutputFormat format = new OutputFormat(document);
format.setLineWidth(65);
format.setIndenting(true);
format.setIndent(2);
Writer out = new StringWriter();
XMLSerializer serializer = new XMLSerializer(out, format);
serializer.serialize(document);
return out.toString();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
private Document parseXmlFile(String in) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(in));
return db.parse(is);
} catch (ParserConfigurationException e) {
throw new RuntimeException(e);
} catch (SAXException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) throws Exception{
String s = "<?xml version="1.0" encoding="UTF-8"?><PARAM><DBID>35</DBID><SEQUENCE>atgtca</SEQUENCE><MAXNS>10</MAXNS><MINIDENTITIES>90</MINIDENTITIES><MAXEVALUE>10</MAXEVALUE><USERNAME>admin</USERNAME><PASSWORD>111111</PASSWORD><TYPE>P</TYPE><RETURN_TYPE>2</RETURN_TYPE></PARAM>";//未格式化前的xml
System.out.println(new XmlFormatter().format(s));
}
}
附件是需要的jar包
下面是输出的格式
<?xml version="1.0" encoding="UTF-8"?>
<PARAM>
<DBID>35</DBID>
<SEQUENCE>atgtca</SEQUENCE>
<MAXNS>10</MAXNS>
<MINIDENTITIES>90</MINIDENTITIES>
<MAXEVALUE>10</MAXEVALUE>
<USERNAME>admin</USERNAME>
<PASSWORD>111111</PASSWORD>
<TYPE>P</TYPE>
<RETURN_TYPE>2</RETURN_TYPE>
</PARAM>
分享到:
相关推荐
idea统一java格式化xml文件
EMeditor使用JSEE格式化XML Format 一键格式化 使用方法: 1. 选择要format的文件,文件内容全选 2. 菜单【选择】,选择jsee文件 3.完成
delphi xe7下面编写的格式化xml文件的demo。 可将FormatMyXML函数拷贝到其它版本使用。
Java格式化xml文件工具类 入参:xmlFilePath 出参:formattedXmlString
解析、生成xml文件,并格式化xml。
将Excel表格中的信息按一定规则(如关键字分组)输出为xml文件,一般情况下生成的xml文件用文本形式代开不会有缩进与换行,本工具解决了此问题。本工具中生成的RemotePhonebook.xml是根据department分组,同一...
Json和Xml离线格式化工具
1、首先需要下载"Editplus,xml,json格式化插件.zip" 2、解压下载后的插件文件xml.exe json.js,将该文件放到EditPlus的根目录之中。 3、配置xml: 【tools】--> [Configure user tools] Menu txt:xmlFormat ...
editplus格式化xml,内带配置教程
java文件格式化xml文件,帮助团队统一代码格式
html格式化xml工具
Dom 4j 格式化xml补充Dom 4j 格式化xml补充Dom 4j 格式化xml补充
使用java语言格式化xml字符串,xml美化,优化展示方式和展示内容
XML格式化工具 本地格式化工具 xml格式化EXE程序,直接运行
Editplus插件,用于设置Editplus对字符串进行json格式化和xml格式化
Eclipse代码格式化,Android代码格式化,格式化,XML
java代码格式化xml文件,适用于Eclipse。如IDEA使用需安装插件Eclipse Code Formatter
NULL 博文链接:https://huahua2691.iteye.com/blog/1668842
notepad++插件,包含自动保存AutoSave,Json格式化NPPJSONViewer,XMLtools格式化XMLTools,将需要的插件放到plugins下,直接复制notepad_plugins下相应的文件夹即可,需要重启notepad++
给editplus添加xml格式化工具,内附使用方法,很简单。