当前位置: 移动技术网 > IT编程>开发语言>Java > java实现的xml格式化实现代码

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

核心代码:

package com.ddatsh;
 
import java.io.ioexception;
import java.io.stringreader;
import java.io.stringwriter;
import java.io.unsupportedencodingexception;
 
import org.dom4j.document;
import org.dom4j.documentexception;
import org.dom4j.io.outputformat;
import org.dom4j.io.saxreader;
import org.dom4j.io.xmlwriter;
 
public class xmlformat {
 
  public static string format(string str) throws exception {
    saxreader reader = new saxreader();
    // system.out.println(reader);
    // 注释:创建一个串的字符输入流
    stringreader in = new stringreader(str);
    document doc = reader.read(in);
    // system.out.println(doc.getrootelement());
    // 注释:创建输出格式
    outputformat formater = outputformat.createprettyprint();
    //formater=outputformat.createcompactformat();
    // 注释:设置xml的输出编码
    formater.setencoding("utf-8");
    // 注释:创建输出(目标)
    stringwriter out = new stringwriter();
    // 注释:创建输出流
    xmlwriter writer = new xmlwriter(out, formater);
    // 注释:输出格式化的串到目标中,执行后。格式化后的串保存在out中。
    writer.write(doc);
 
    writer.close();
    system.out.println(out.tostring());
    // 注释:返回我们格式化后的结果
    return out.tostring();
  }
 
  public static void main(string[] args) throws exception {
    string head="<?xml version=\"1.0\" encoding=\"gbk\"?>";
    string str = "<requestdata><headdata><usercode>sh1_admin</usercode><username>sh1_admin</username><usercompanycode>3107</usercompanycode><usercompanyname>上海分公司一部</usercompanyname><requesttype>03</requesttype></headdata><bodydata><reportid>113100000033</reportid><insurant>a5rfg87</insurant><numberplate>沪e78612</numberplate><enginemodel></enginemodel><carvin></carvin><accidentdate>2011-02-25 15:07:00</accidentdate><reportdate>2011-02-25 15:07:00</reportdate><province>310000</province><city>310100</city><district></district><accidentplace>1</accidentplace><accidentlongitude></accidentlongitude><accidentlatitude></accidentlatitude><surveylongitude></surveylongitude><surveylatitude></surveylatitude><scenereportflag></scenereportflag><reporter></reporter><reportertel></reportertel><surveyplace></surveyplace><operatorid>3525</operatorid><operatorname>sh_admin</operatorname><reportdealid>30000800</reportdealid><reportdealname>江苏分公司</reportdealname><companyname></companyname><customertypecode></customertypecode><forcepolicyid>a5rfg87a5rfg87a5rfg87</forcepolicyid><bizpolicyid></bizpolicyid><index>0</index><fieldname>5</fieldname></bodydata></requestdata>";
    // system.out.println(str);
    format(str);
  }
 
}

oschina用的在线格式化xml的工具就是使用此段代码。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网