`

如何格式化XML xml格式化输出

阅读更多
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>

分享到:
评论
1 楼 wzwahl36 2014-05-13  
http://www.atool.org/xmlformat.php 在线格式化,php版本

相关推荐

    Java格式化Xml文件

    这两个包提供了处理XML的API,包括解析XML、转换XML以及格式化XML的功能。在`XmlFormatUtils.java`这个类中,我们可以看到这些功能的实现。 1. **解析XML文件**: 使用`javax.xml.parsers.DocumentBuilderFactory`...

    delphi格式化xml文件demo

    总之,Delphi XE7虽然没有内建的XML格式化工具,但通过自定义函数和DOM操作,我们可以实现XML的格式化功能。这个"delphi格式化xml文件demo"就是一个很好的起点,帮助开发者在处理XML时获得更清晰、易读的输出。在...

    idea统一java格式化xml文件

    idea统一java格式化xml文件

    EMeditor使用JSEE一键格式化XML Format

    EMeditor使用JSEE格式化XML Format 一键格式化 使用方法: 1. 选择要format的文件,文件内容全选 2. 菜单【选择】,选择jsee文件 3.完成

    格式化xml字符串,并生成xml文件

    本文将围绕“格式化XML字符串并生成XML文件”这一主题展开,结合提供的标签“源码”和“工具”,探讨如何通过Java编程实现这一功能。 首先,我们有两个Java源代码文件,即`XMLFileUtil.java`和`XMLFormatUtil.java`...

    vba Excel转化为xml(格式化输出xml)

    将Excel表格中的信息按一定规则(如关键字分组)输出为xml文件,一般情况下生成的xml文件用文本形式代开不会有缩进与换行,本工具解决了此问题。本工具中生成的RemotePhonebook.xml是根据department分组,同一...

    vc CMarkup缩进格式化xml

    XML格式化,特别是缩进,是为了提高XML文档的可读性。`CMarkup`通过控制输出时的换行和缩进来实现这一目的。在输出XML时,可以使用`Save()`方法,配合`SetIndent()`方法设定缩进的空格数。例如,`SetIndent(4)`将使...

    Json和Xml离线格式化工具

    而`XmlFormat_1.0`可能是一个XML格式化工具的早期版本,同样具备基本的XML格式化和解析功能。 掌握JSON和XML的格式化工具对于开发者来说至关重要,因为它们能够帮助快速定位问题、调试代码和理解复杂的数据结构。在...

    EditPlus 格式化xml和json

    **XML格式化:** XML(eXtensible Markup Language)是一种用于存储和传输数据的标记语言,其结构严谨,但在未经格式化的状态下,大量嵌套的元素和属性可能会导致代码混乱。EditPlus提供了一键格式化XML的功能,使...

    mac上sublime 支持json, xml 格式化

    如果你下载了名为“tidy_xml.py”的文件,这可能是一个自定义的XML格式化脚本,可以通过Sublime Text的命令面板调用来使用。 **源码与工具** 在编程过程中,源码和工具的选择与配置对于开发效率有着显著的影响。...

    editplus格式化xml插件

    本文将详细讲解如何在EditPlus中安装和使用“格式化XML”插件,以及相关的配置教程。 XML(Extensible Markup Language)是一种用于存储和传输数据的语言,它具有结构化、可读性强的特点。然而,大型XML文件往往...

    DOM4J格式化XML

    2. **XML格式化需求**:说明为什么需要对XML进行格式化,比如提高代码可读性,便于团队协作,以及符合编码规范。 3. **DOM4J解析XML**:介绍如何使用DOM4J读取XML文件并创建Document对象,解析XML元素和属性。 4. ...

    在editplus工具添加格式化xml文件的插件

    本文将详细介绍如何在EditPlus中添加并使用XML格式化插件,以便让编辑器具备这一实用功能。我们的目标插件是`xmlstarlet`,它是一个命令行工具,可以用于XML的处理和格式化,同时也适用于EditPlus的插件系统。 首先...

    EditPlus xml格式化

    **EditPlus XML格式化** EditPlus是一款功能强大的文本编辑器,尤其在编程和代码编辑方面表现出色。它支持多种编程语言,并提供了丰富的自定义功能,包括XML文件的格式化。XML(eXtensible Markup Language)是一种...

    Dom 4j 格式化xml补充

    ### Dom 4j 格式化 XML 输出详解 #### 概述 Dom 4j 是一个用于处理 XML 文件的强大 Java 库。它提供了一系列简单易用的 API,可以帮助开发者高效地解析、创建和修改 XML 文档。其中,格式化 XML 输出是 Dom 4j ...

    xml格式化工具

    在实际应用中,XML格式化工具还可能与IDE(集成开发环境)集成,如Visual Studio、Eclipse等,提供快捷的XML格式化功能。此外,还有一些在线的XML格式化器,如XML Starlet、XML Tools等,它们提供了更灵活的选择,...

    XML格式化(换行,缩进)

    本文将围绕“XML格式化(换行,缩进)”这一主题,详细探讨如何使用C#语言对XML文档进行格式化操作,包括换行与缩进,从而让XML文档的结构更加清晰,便于人工阅读和调试。 ### XML格式化的重要性 XML文档本质上是...

    前端基于xml报文格式化工具

    1. **格式化**:将原始的XML字符串按照标准的XML格式重新排列,使其更加易于阅读。这包括缩进、换行,以及正确排序属性等。 2. **高亮显示**:通过颜色区分不同的XML元素、属性和文本,提升代码的可读性。通常,...

    EditPlus格式化XML插件

    值得注意的是,虽然EditPlus自身提供了一些基本的XML格式化功能,但使用XMLStarlet插件可以实现更复杂的格式化选项,例如自定义缩进、换行等。此外,XMLStarlet还可以与其他命令行工具结合,实现更多XML相关的操作。...

    Editplus,xml,json格式化插件

    1、首先需要下载"Editplus,xml,json格式化插件.zip" 2、解压下载后的插件文件xml.exe json.js,将该文件放到EditPlus的根目录之中。 3、配置xml: 【tools】--&gt; [Configure user tools] Menu txt:xmlFormat ...

Global site tag (gtag.js) - Google Analytics