XML文件:
<?xml version="1.0" encoding="UTF-8"?><books><book><name>哈里波特</name><price>10</price><memo>这是一本很好看的书。</memo></book></books>
Java代码:
import java.io.*;
import org.jdom.Document;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
/**
* JDOM 方式操作XML
*
* @author Watson Xu
* @date 2011-5-3 下午02:20:49
*/
public class OperationXMLByJdom {
/**
* DOCUMENT格式化输出保存为XML
*
* @param doc JDOM的Document
* @param filePath 输出文件路径
* @throws Exception
*/
public static void doc2XML(Document doc, String filePath) throws Exception{
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
*
* @param xmlStr 字符串
* @return doc JDOM的Document
* @throws Exception
*/
public static Document string2Doc(String xmlStr) throws Exception {
java.io.Reader in = new StringReader(xmlStr);
Document doc = (new SAXBuilder()).build(in);
return doc;
}
/**
* Document转换为字符串
*
* @param xmlFilePath XML文件路径
* @return xmlStr 字符串
* @throws Exception
*/
public static String doc2String(Document doc) throws Exception {
Format format = Format.getPrettyFormat();
format.setEncoding("UTF-8");// 设置xml文件的字符为UTF-8,解决中文问题
XMLOutputter xmlout = new XMLOutputter(format);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(doc, bo);
return bo.toString();
}
/**
* XML转换为Document
*
* @param xmlFilePath XML文件路径
* @return doc Document对象
* @throws Exception
*/
public static Document xml2Doc(String xmlFilePath) throws Exception {
File file = new File(xmlFilePath);
return (new SAXBuilder()).build(file);
}
public static void main(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();
}
}
}
输出XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book>
<name>哈里波特</name>
<price>10</price>
<memo>这是一本很好看的书。</memo>
</book>
</books>
分享到:
相关推荐
jdom学习读取xml文件 对学习SPRING有帮助
NULL 博文链接:https://xurichusheng.iteye.com/blog/1518547
使用 jdom.jar包读取、修改 xml文件,并将修改后的xml保存
jdom学习读取xml文件资料小列子,非常简单明了。
JDOM 操作xml 解析读取xml文件 修改 删除 增添xml指定节点信息的XmlBean
jdom解析xml文件的源代码、jar包以及示例xml文件
一个关于用jdom解析xml,遍历xml,建立xml的简单例子.
import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; public class XmlReader { /* * fileName文件的路徑和名稱 * firstChild為xml第一個節點 * */ public Element ReaderXml...
jdom解析xml文件小实例jdom解析xml文件小实例jdom解析xml文件小实例
NULL 博文链接:https://zhaohong.iteye.com/blog/426761
利用JDOM解析xml文件,并根据xml中为类名,生成相应的对象。
jdom解析XML文件and把字符串解析成XML.txt jdom解析XML文件and把字符串解析成XML.txtjdom解析XML文件and把字符串解析成XML.txt
一个简单的 JDOM解析本地XML 例子
Dom JDom 解析xml 文件 Dom JDom 解析xml 文件 Dom JDom 解析xml 文件 自己使用 最好不要下载
这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写以及dtd文件约束xml文件。这是一个jdom解析xml的小例子、里面还有dtd文件的编写...
利用JDOM实现XML文档和数据库之间的数据交换
jdom.jar xml解析
利用jdom读取xml 虽然是我自己写的 但是觉得有必要与大家分享一下
用JDOM读取XML文件 用JDOM读取XML文件用JDOM读取XML文件
Jdom查找XML文件的所有节点内容,一个简单的递归算法