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;
-
-
-
-
-
-
-
- public class OperationXMLByJdom {
-
-
-
-
-
-
-
- public static void doc2XML(Document doc, String filePath) throws Exception{
- Format format = Format.getCompactFormat();
- format.setEncoding("UTF-8");
- format.setIndent(" ");
-
- XMLOutputter outputter = new XMLOutputter(format);
- FileWriter writer = new FileWriter(filePath);
- outputter.output(doc, writer);
- writer.close();
- }
-
-
-
-
-
-
-
-
- public static Document string2Doc(String xmlStr) throws Exception {
- java.io.Reader in = new StringReader(xmlStr);
- Document doc = (new SAXBuilder()).build(in);
- return doc;
- }
-
-
-
-
-
-
-
-
- public static String doc2String(Document doc) throws Exception {
- Format format = Format.getPrettyFormat();
- format.setEncoding("UTF-8");
- XMLOutputter xmlout = new XMLOutputter(format);
- ByteArrayOutputStream bo = new ByteArrayOutputStream();
- xmlout.output(doc, bo);
- return bo.toString();
- }
-
-
-
-
-
-
-
-
- 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>
|