java xml格式化_使用java将xml格式化

java xml格式化_使用java将xml格式化将生成的xml用ie浏览器打开,就可以见到漂亮的缩进的xmlschema.但是每次都这样也不方便。在java程序中,直接使用jdk的javax.xml.transform.Transformer即可完成。而且如果有节点未被匹配,也能通过错误提示及时发现。先贴代码如下:importjava.io.File;importjava.io.StringReader;importjavax.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(“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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160120.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OleDbCommand 的 用法

    OleDbCommand 的 用法OleDbConnection用法con=newOleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;datasource=data.mdb”);con.Open();OleDbCommanddc=newOleDbCommand(“selectnamefromuswhereid=2”,con);textBox1.T

    2022年5月19日
    65
  • 利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)

    利用泛型抽取Dao层,加事务注解问题(java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType)

    2022年1月20日
    49
  • pycharm的配置_pycharm怎么配置python环境变量

    pycharm的配置_pycharm怎么配置python环境变量一、Python解释器1、Python解释器计算机只能读懂0和1这样的二进制编码文件,所以需要一个东西将Python程序解释成计算机可以读懂并执行的二进制文件,这个东西就是Python解释器。在PyCharm中运行Python代码,您需要配置至少一个Python解释器。PyCharm支持以下解释器类型: 源Python解释器; 虚拟环境:(Virtualenv,Pipenv,andConda); 其他Python实现(IronP.

    2022年8月28日
    0
  • xml文件格式化[通俗易懂]

    xml文件格式化[通俗易懂]xml文件格式化看到这样的xml文档是否你的脑袋已经萌化:(ps:此时的内心是崩溃的~~~)那么让我们用UE编辑器进行对xml进行格式化吧!编辑软件:(ps:xml格式化前)**第一步:打开UE文件编辑软件第二步:打开咋们需要格式的xml文件第三步:点击格式第四步:选择XMLlint工具第五步:在弹出的窗口,勾选标签“重格式化并重缩进输出,缩进位置”(ps:英文:Reformat

    2022年7月16日
    23
  • docker启动报错Error starting daemon: Error initializing network controller:…….Iptables not found

    docker启动报错Error starting daemon: Error initializing network controller:…….Iptables not found

    2021年6月4日
    156
  • kali虚拟机安装教程(超详细)

    kali虚拟机安装教程(超详细)一、官方下载KaliLinux官方网址:www.Kali.org下载方式分两种:http下载和bt下载(由于是国外网站http方式下载会非常慢),选择对应版本点击即可下载。二、创建新的虚拟1、新建虚拟机(使用自定义方式),点击”下一步“,然后选择自己所安装的虚拟机版本,再点击”下一步“;2、选择”稍后安装操作系统“,点击”下一步“,选择虚拟机可支持的Linux版本,这里使用Debian8.x,然后点击”下一步“;3、输入虚拟机名称并选择安装位置,点击”.

    2022年5月2日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号