packageutil;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileWriter;importjava.io.StringReader;importorg.jdom.Document;importorg.jdom.input.SAXBuilder;importorg.jdom.output.Format;importorg.jdom.output.XMLOutputter;/*** JDOM 方式操作XML

*

*@authorWatson Xu

* @date 2011-5-3 下午02:20:49*/

public classOperationXMLByJdom {/*** DOCUMENT格式化输出保存为XML

*

*@paramdoc JDOM的Document

*@paramfilePath 输出文件路径

*@throwsException*/

public static void doc2XML(Document doc, String filePath) throwsException{

Format format=Format.getCompactFormat();

format.setEncoding("UTF-8"); //设置XML文件的字符为UTF-8

format.setIndent(" ");//设置缩进

XMLOutputter outputter= new XMLOutputter(format);//定义输出 ,在元素后换行,每一层元素缩排四格

FileWriter writer = new FileWriter(filePath);//输出流

outputter.output(doc, writer);

writer.close();

}/*** 字符串转换为DOCUMENT

*

*@paramxmlStr 字符串

*@returndoc JDOM的Document

*@throwsException*/

public static Document string2Doc(String xmlStr) throwsException {

java.io.Reader in= newStringReader(xmlStr);

Document doc= (newSAXBuilder()).build(in);returndoc;

}/*** Document转换为字符串

*

*@paramxmlFilePath XML文件路径

*@returnxmlStr 字符串

*@throwsException*/

public static String doc2String(Document doc) throwsException {

Format format=Format.getPrettyFormat();

format.setEncoding("UTF-8");//设置xml文件的字符为UTF-8,解决中文问题

XMLOutputter xmlout = newXMLOutputter(format);

ByteArrayOutputStream bo= newByteArrayOutputStream();

xmlout.output(doc, bo);returnbo.toString();

}/*** XML转换为Document

*

*@paramxmlFilePath XML文件路径

*@returndoc Document对象

*@throwsException*/

public static Document xml2Doc(String xmlFilePath) throwsException {

File file= newFile(xmlFilePath);return (newSAXBuilder()).build(file);

}public static voidmain(String[] args) {try{

Document doc= xml2Doc("test.xml");

System.out.println(doc);

System.out.println(doc2String(doc));

doc=string2Doc(doc2String(doc));

doc2XML(doc,"1.xml");

}catch(Exception e) {

e.printStackTrace();

}

}

}

java jdomxml 换行_jdom处理的XML Document 和String 之间的相互转化相关推荐

  1. DOM方式进行的XML文件、Document、String之间的相互转换

    http://kingxss.iteye.com/blog/1026954 XML文件test.xml: Xml代码 <?xml version="1.0" encoding ...

  2. Spring 基于 Java 的配置 - 如何不用Beans.xml照样描述bean之间的依赖关系

    看个具体的例子:首先是配置类,该类的作用相当于Spring常规依赖维护里的Beans.xml: import org.springframework.context.annotation.*; @Co ...

  3. Java开发实例大全提高篇——XML篇

    第3篇  XML篇 第10章  初识XML 10.1  XML语言基础 实例297  简单的XML <?xml version="1.0" encoding="UT ...

  4. java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理

    XML 1.引入dom4j-2.0.0.jar 2.引入jquery-1.8.2.js 3.新建common.js getInfo = function(){$.post("getXmlAc ...

  5. mybatis 配置错误 XML document structures must start and end within the same entity

    JAVA就业套餐课:https://edu.csdn.net/combo/detail/1230 问题如下: Exception in thread "main" org.apac ...

  6. java 反射解析xml_java反射获取xml元素

    类名: class Person { public void run(String who){ System.out.println("Person::run()" + who); ...

  7. java使用org.w3c.dom解析XML文档,创建、增删查改,保存,读取,遍历元素等操作

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用org.w3c.dom(java dom)解析XML文档,创建.增删查改,保存,读取,遍历元素等操作 在保存文件时需要载入crimso ...

  8. java编写大数据分析模型_如何用Java(DOM分析器)编写XML文件

    java编写大数据分析模型 Earlier we learned how to read XML file and how to edit XML file in java using DOM Par ...

  9. org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in XML document from U

    org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in XML document from U ...

最新文章

  1. 2021年春季学期-信号与系统-第七次作业参考答案-第十小题
  2. Access数据库访问助手类
  3. 用JADE创建多agent系统
  4. 从子窗体传递数据给父窗体
  5. 《大型网站服务器容量规划》一1.1 容量规划背景
  6. 【数学+编程】对函数进行抽象
  7. hp服务器装xp系统,教你惠普笔记本一键装xp系统的方法
  8. html中的波浪线,CSS3 波浪线
  9. C语言在linux终端下实现2048小游戏:第二版
  10. ibm mq qname java_IBMMQ 从队列获取消息并将消息发送到特定主题上面
  11. RSAC|苹果设备的最大威胁是逆向后重部署的恶意软件
  12. python ev3图形化编程软件下载_【stm32图形化编程软件免费版下载】stm32图形化编程软件 v1.0 最新免费版-开心电玩...
  13. aruba交换机配置命令_aruba配置手册
  14. 使用AcronisTrueImage 2020迁移thinkpad x1 carbon 2016(4th gen) win10系统到1t的固态硬盘970evoPlus的过程
  15. python读json文件json.decoder.JSONDecodeError终极解决大法
  16. TaoAudio: 淘宝直播短视频音频解决方案
  17. 欧姆龙CP系列PLC以太网通讯处理器的应用
  18. Xshell6安装与使用
  19. Linux下打开chm文件
  20. 21.12.8组合数

热门文章

  1. Paging Structures in the Different Paging Modes
  2. cpuset(7) — Linux manual page
  3. Linux C语言在用户态实现一个低时延通知(eventfd)+轮询(无锁队列ring)机制的消息队列
  4. Linux内核:VFIO Mediated Device(vfio-mdev)内核文档(翻译)
  5. 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)
  6. 在CentOS上进行虚拟化:QEMU、Xen、KVM、LibVirt、oVirt
  7. SeismicUnix:wtlib.c[小波变换库]
  8. GitHub#python#:用自组织映射解决旅行商问题
  9. C++类的定义和创建
  10. mac连接局域网mysql_MySQL for Mac 安装和基本操作