`

使用java将xml格式化

阅读更多

将生成的xml用ie浏览器打开,就可以见到漂亮的缩进的xml schema.

但是每次都这样也不方便。在java程序中,直接使用jdk的javax.xml.transform.Transformer即可完成。

而且如果有节点未被匹配,也能通过错误提示及时发现。

 

  先贴代码如下:

   

import java.io.File;
import java.io.StringReader;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.xml.sax.InputSource;

public class XmlUtils {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		SaveXMLWithIndent("<node><content>test</content><anotherNode/></node>","demo.xml");
	}
	
	
	public static void SaveXMLWithIndent(String xml,String fileName) {
		try {
			Document doc = getDocumentFromString(xml);
			DOMSource src = new DOMSource(doc);
			//StreamResult sr = new StreamResult(System.out);
			StreamResult sr = new StreamResult(new File(fileName));
			TransformerFactory tf = TransformerFactory.newInstance();
			Transformer t = tf.newTransformer();
			t.setOutputProperty(OutputKeys.INDENT, "yes");
			t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
			t.setOutputProperty(OutputKeys.METHOD, "xml");
			t.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
			t.transform(src, sr);
			
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	
	public static Document getDocumentFromString(String xml) throws Exception {
        Document doc = null;
        DocumentBuilderFactory factory =  DocumentBuilderFactory.newInstance();
        factory.setNamespaceAware(true);
        DocumentBuilder builder = factory.newDocumentBuilder();
        doc = builder.parse(new InputSource(new StringReader(xml)));
        return doc;
    }

}

 

   最后效果如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<node>
  <content>test</content>
  <anotherNode/>
</node>

 

0
0
分享到:
评论

相关推荐

    Java格式化Xml文件

    本文将深入探讨如何使用Java来格式化XML文件。 首先,我们需要了解Java中处理XML的基本库——`javax.xml.transform`和`javax.xml.parsers`。这两个包提供了处理XML的API,包括解析XML、转换XML以及格式化XML的功能...

    idea统一java格式化xml文件

    idea统一java格式化xml文件

    XML格式化(换行,缩进)

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

    mac上sublime 支持json, xml 格式化

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

    Xml本地格式化工具(Java代码显示,图形操作)

    本地XML格式化工具是开发者处理XML文档时不可或缺的助手,它可以帮助我们将杂乱无章的XML源码整理成清晰易读的格式。在Java编程环境下,XML的格式化通常涉及到DOM(Document Object Model)、SAX(Simple API for ...

    java文件格式化xml文件

    java文件格式化xml文件,帮助团队统一代码格式

    JAVA对象生成格式化XML

    JAVA对象生成格式化XML

    java实现的xml格式化实现代码

    总结来说,Java实现XML格式化的关键在于使用DOM4J库,通过SAXReader读取XML,OutputFormat定义输出格式,XMLWriter完成格式化写入。这种方法适用于小到中型的XML文档,对于大型XML文档,可能需要考虑使用更高效的...

    java http 发送xml报文(java发送xml报文实例+参数)

    XML(eXtensible Markup Language)则是一种结构化数据格式,广泛应用于数据交换、配置文件等场景。本篇文章将深入探讨如何在Java中利用HTTP协议发送XML报文,并通过实例和参数解析具体实现步骤。 首先,我们需要...

    Xml格式化-java_class反编译工具

    总的来说,XML格式化和Java_class反编译工具是Java开发中不可或缺的辅助工具,它们提升了开发者的生产力,使代码和数据更易于管理和理解。无论是对于初学者还是经验丰富的开发者,掌握这些工具的使用方法都是非常...

    ftl排版-xml格式化.zip

    在“ftl排版-xml格式化.zip”这个压缩包中,我们有“foxe_241_zwm”这个文件,这很可能是一个名为Foxe的FTL编辑器或XML查看器的版本,版本号可能是241,而“zwm”可能是某种特定的配置或标识。 XML是一种标记语言,...

    Formatter_格式化_xml_xml格式化_

    2. **Java中XML格式化的方法** - 使用DOM解析器:DOM解析器可以加载整个XML文档到内存,然后通过方法如`DocumentBuilderFactory`和`DocumentBuilder`来操作和格式化XML。 - 使用SAX解析器:SAX解析器是事件驱动的...

    java生成xml文件的时候如何控制xml的缩进格式.pdf

    java生成xml文件的时候如何控制xml的缩进格式.pdf

    java 通过模板生成 xml,发送报文

    同时,为了保证XML的格式化和验证,可以使用`XMLIndentator`进行美化,或者`javax.xml.validation`包下的工具进行XML校验。 总结起来,Java通过模板生成XML并发送报文涉及XML文档对象的创建、元素的构建、模板引擎...

    标准化idea代码格式化模板

    该模板适用于java,自动格式化代码、xml、配置文件等。代码使用空格代替tab,缩进固定位4个空格。import防止优化,全部改为999,xml、前端代码,使用空格代替tab缩进默认为2个空格。java的doc注释,保留原有内容的...

    Java and XML(英文第三版)_java_xml_birdsolc_源码

    《Java and XML(英文第三版)_java_xml_birdsolc_源码》是关于Java与XML集成编程的一本权威指南,特别适合于那些希望深入理解如何在Java应用程序中有效地使用XML技术的开发者。这本书详细阐述了Java平台上的XML处理...

    xml的JAVA解析与格式定义

    另外,`java.util.Properties`类可以方便地读写XML格式的配置文件。 综上所述,XML在Java开发中扮演着重要角色,提供了多种解析和操作方式,开发者可以根据项目需求选择合适的工具和策略。DOM适合小规模且需频繁...

    java生成指定格式的xml和解析对于的xml

    Java中可以使用JAXB(Java Architecture for XML Binding)库,它将XML与Java对象绑定,方便地将XML转换为Java对象,反之亦然。`@XmlRootElement`是JAXB的一个注解,用于标记类作为XML根元素。 1. JAXB解析XML: ...

    如何在Java中将XML文档转换成HTML文档.pdf

    1. **导入相关包**:在Java程序中使用XSLT进行转换前,需要导入必要的包,如`javax.xml.transform`、`javax.xml.transform.stream`和`javax.xml.transform.dom`等,这些包提供了执行XSLT转换所需的类和接口。...

Global site tag (gtag.js) - Google Analytics