将生成的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("test","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("{外链网址已屏蔽}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;

}

}

最后效果如下:

test

java xml格式化_使用java将xml格式化相关推荐

  1. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

  2. matlab分析xml文件_修改Java中的XML文件(DOM分析器)

    matlab分析xml文件 We can modify XML file in Java using DOM parser. We can add elements, remove elements, ...

  3. java 序列化成xml文件_将Java对象序列化成JSON和XML格式

    1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...

  4. java jdom 读取xml文件_使用Jdom读取XML文件方法

    使用Jdom读取XML文件方法,学习Spring时,我们经常看到很多xml配置文件,Spring通过在配置文件中的配置,使用IOC(控制反转),从而实现代码的灵活性,本篇我就为大家介绍一种解析xml方 ...

  5. bigint对应java什么类型_「JAVA」从格式化输出到扫描输入,深究Java正则表达式匹配之道

    字符串是不可变的 字符串是不可变的,也就是说当字符串的内容发生改变的时候,会创建一个新的String对象:但是如果内容没有发生改变的时候,String类的方法会返回原字符串对象的引用. 而正则表达式往 ...

  6. java 时间格式化_还在用SimpleDateFormat格式化时间?小心经理锤你

    还在用SimpleDateFormat格式化时间?小心经理锤你 场景 本来开开心心的周末时光,线上突然就疯狂报错,以为程序炸了,截停日志,发现是就是类似下述一段错误 java.lang.NumberF ...

  7. java 包命名_【Java】包的命名规则

    命名规范 包:所有单词的字母小写,之后每个单词用-隔开,如 org.nemo.demo 常量:所有单词的字母大写,之后每个单词用_隔开,如 FLAG 类:所有单词的首字母大写,如 TestJava p ...

  8. java ee6教程_《Java EE 6 企业级应用开发教程》怎么样_目录_pdf在线阅读 - 课课家教育...

    第1章 java EE概述 1.1 Java EE的产生与发展 1.2 Java EE 6架构 1.3 Java EE 6常用技术 1.4 Java EE 6特性 1.5 Java EE 6应用服务器 ...

  9. java高级教程_高级Java教程

    java高级教程 课程大纲 学习Java基础很容易. 但是,真正钻研该语言并研究其更高级的概念和细微差别将使您成为一名出色的Java开发人员. 网络上充斥着"软","便宜 ...

最新文章

  1. Django 视图和模板1.4
  2. 读书笔记之《Windows内核原理与实现》
  3. [BetterExplained]如何有效地记忆与学习
  4. DataGrip按某列大小对数据集进行排序
  5. java图片失真_java 图片合成 解决图片失真问题
  6. Python生成随机高斯模糊图片
  7. java多线程的写法三个线程_Java多线程的几种写法
  8. lua中table的常用方法
  9. 一步一步学Ruby(五): Class, Module, Object,Kernel的关系
  10. asp.net 路径
  11. C++设计模式基础和模式设计基本原则
  12. 合并两个有序链表(Java)
  13. 一文了解单线激光扫描系统的标定与成像原理
  14. GraphQL 总结 + 在Django应用(Graphene)
  15. 计算机主机电源接线,七个步骤教你主机电源如何接线
  16. 黑马JAVA知识点总结
  17. keras tensorboard的使用
  18. 【PPT】画三维立体块
  19. 费马小定理 几道例题
  20. java常见的命名规则

热门文章

  1. RTKLIB2.4.3中一些问题的修复---RTKLIB学习系列文章(二)
  2. [JZOJ]2109 清兵线 题解
  3. C语言再学习25——常用字符串函数归纳
  4. Excel-给条形统计图加走线趋势
  5. 联想笔记本睡眠模式发烫问题解决
  6. 永恒之蓝勒索漏洞复现
  7. 有关古文的C语言编程题,这80道国学题,既经典又有趣!值得珍藏!
  8. vs添加监视快捷键_询问操作方法:监视Android移动设备使用情况,Windows键盘快捷键和修复损坏的照片...
  9. 配置MAWEN环境变量,总是出错
  10. 如何让Join跑的更快?(文末送书)