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>
分享到:
相关推荐
这两个包提供了处理XML的API,包括解析XML、转换XML以及格式化XML的功能。在`XmlFormatUtils.java`这个类中,我们可以看到这些功能的实现。 1. **解析XML文件**: 使用`javax.xml.parsers.DocumentBuilderFactory`...
总之,Delphi XE7虽然没有内建的XML格式化工具,但通过自定义函数和DOM操作,我们可以实现XML的格式化功能。这个"delphi格式化xml文件demo"就是一个很好的起点,帮助开发者在处理XML时获得更清晰、易读的输出。在...
idea统一java格式化xml文件
EMeditor使用JSEE格式化XML Format 一键格式化 使用方法: 1. 选择要format的文件,文件内容全选 2. 菜单【选择】,选择jsee文件 3.完成
本文将围绕“格式化XML字符串并生成XML文件”这一主题展开,结合提供的标签“源码”和“工具”,探讨如何通过Java编程实现这一功能。 首先,我们有两个Java源代码文件,即`XMLFileUtil.java`和`XMLFormatUtil.java`...
将Excel表格中的信息按一定规则(如关键字分组)输出为xml文件,一般情况下生成的xml文件用文本形式代开不会有缩进与换行,本工具解决了此问题。本工具中生成的RemotePhonebook.xml是根据department分组,同一...
XML格式化,特别是缩进,是为了提高XML文档的可读性。`CMarkup`通过控制输出时的换行和缩进来实现这一目的。在输出XML时,可以使用`Save()`方法,配合`SetIndent()`方法设定缩进的空格数。例如,`SetIndent(4)`将使...
而`XmlFormat_1.0`可能是一个XML格式化工具的早期版本,同样具备基本的XML格式化和解析功能。 掌握JSON和XML的格式化工具对于开发者来说至关重要,因为它们能够帮助快速定位问题、调试代码和理解复杂的数据结构。在...
本文将详细介绍如何在EditPlus中添加并使用XML格式化插件,以便让编辑器具备这一实用功能。我们的目标插件是`xmlstarlet`,它是一个命令行工具,可以用于XML的处理和格式化,同时也适用于EditPlus的插件系统。 首先...
本文将详细讲解如何在EditPlus中安装和使用“格式化XML”插件,以及相关的配置教程。 XML(Extensible Markup Language)是一种用于存储和传输数据的语言,它具有结构化、可读性强的特点。然而,大型XML文件往往...
2. **XML格式化需求**:说明为什么需要对XML进行格式化,比如提高代码可读性,便于团队协作,以及符合编码规范。 3. **DOM4J解析XML**:介绍如何使用DOM4J读取XML文件并创建Document对象,解析XML元素和属性。 4. ...
如果你下载了名为“tidy_xml.py”的文件,这可能是一个自定义的XML格式化脚本,可以通过Sublime Text的命令面板调用来使用。 **源码与工具** 在编程过程中,源码和工具的选择与配置对于开发效率有着显著的影响。...
**EditPlus XML格式化** EditPlus是一款功能强大的文本编辑器,尤其在编程和代码编辑方面表现出色。它支持多种编程语言,并提供了丰富的自定义功能,包括XML文件的格式化。XML(eXtensible Markup Language)是一种...
### Dom 4j 格式化 XML 输出详解 #### 概述 Dom 4j 是一个用于处理 XML 文件的强大 Java 库。它提供了一系列简单易用的 API,可以帮助开发者高效地解析、创建和修改 XML 文档。其中,格式化 XML 输出是 Dom 4j ...
在实际应用中,XML格式化工具还可能与IDE(集成开发环境)集成,如Visual Studio、Eclipse等,提供快捷的XML格式化功能。此外,还有一些在线的XML格式化器,如XML Starlet、XML Tools等,它们提供了更灵活的选择,...
本文将围绕“XML格式化(换行,缩进)”这一主题,详细探讨如何使用C#语言对XML文档进行格式化操作,包括换行与缩进,从而让XML文档的结构更加清晰,便于人工阅读和调试。 ### XML格式化的重要性 XML文档本质上是...
**XML格式化:** XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,其结构严谨,但在未经格式化的状态下,大量嵌套的元素和属性可能会导致代码混乱。EditPlus提供了一键格式化XML的功能,使...
1. **格式化**:将原始的XML字符串按照标准的XML格式重新排列,使其更加易于阅读。这包括缩进、换行,以及正确排序属性等。 2. **高亮显示**:通过颜色区分不同的XML元素、属性和文本,提升代码的可读性。通常,...
1、首先需要下载"Editplus,xml,json格式化插件.zip" 2、解压下载后的插件文件xml.exe json.js,将该文件放到EditPlus的根目录之中。 3、配置xml: 【tools】--> [Configure user tools] Menu txt:xmlFormat ...
值得注意的是,虽然EditPlus自身提供了一些基本的XML格式化功能,但使用XMLStarlet插件可以实现更复杂的格式化选项,例如自定义缩进、换行等。此外,XMLStarlet还可以与其他命令行工具结合,实现更多XML相关的操作。...