Java操作XML文件(1)-写入XML文件

  1. package xml;    
  2.     
  3. import java.io.BufferedWriter;    
  4. import java.io.FileOutputStream;    
  5. import java.io.OutputStreamWriter;    
  6.     
  7. import javax.xml.parsers.DocumentBuilder;    
  8. import javax.xml.parsers.DocumentBuilderFactory;    
  9. import javax.xml.transform.OutputKeys;    
  10. import javax.xml.transform.Transformer;    
  11. import javax.xml.transform.TransformerFactory;    
  12. import javax.xml.transform.dom.DOMSource;    
  13. import javax.xml.transform.stream.StreamResult;    
  14.     
  15. import org.w3c.dom.Document;    
  16. import org.w3c.dom.Element;    
  17.     
  18. public class XMLWriter {    
  19.     private String fileName;    
  20.     private Document document;    
  21.     
  22.     public XMLWriter(String fileName) throws Exception {    
  23.         this.fileName = fileName;    
  24.         createXmlDocument();    
  25.     }    
  26.     
  27.     private void createXmlDocument() throws Exception {    
  28.         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();    
  29.         DocumentBuilder builder = factory.newDocumentBuilder();    
  30.         document = builder.newDocument();    
  31.     }    
  32.     
  33.     public Element createDocumentElement(String name) {    
  34.         Element root = document.createElement(name);    
  35.         document.appendChild(root);    
  36.         return root;    
  37.     }    
  38.     
  39.     public Element createElement(Element parent, String tagName, String text) {    
  40.         Element element = document.createElement(tagName);    
  41.         if (text != null && text.length() > 0) {    
  42.             element.setTextContent(text);    
  43.         }    
  44.         parent.appendChild(element);    
  45.         return element;    
  46.     }    
  47.     
  48.     public void toSave() throws Exception {    
  49.         TransformerFactory factory = TransformerFactory.newInstance();    
  50.         factory.setAttribute("indent-number"new Integer(4));// 设置缩进长度为4    
  51.         Transformer transformer = factory.newTransformer();    
  52.         transformer.setOutputProperty(OutputKeys.INDENT, "yes");// 设置自动换行    
  53.         DOMSource source = new DOMSource(document);    
  54.         transformer.transform(source, new StreamResult(new BufferedWriter(    
  55.                 new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8"))));    
  56.     }    
  57.     
  58.     public static void main(String[] args) {    
  59.         String fileName = "E:\\test.xml";    
  60.         System.out.println(fileName);    
  61.         try {    
  62.             XMLWriter writer = new XMLWriter(fileName);    
  63.             Element root = writer.createDocumentElement("Books");    
  64.             Element book = writer.createElement(root, "Book""");    
  65.             writer.createElement(book, "Price""52.00");    
  66.             Element title = writer.createElement(book, "Title""test xml");    
  67.             title.setAttribute("Auth""yy");    
  68.             writer.toSave();    
  69.         } catch (Exception e) {    
  70.             e.printStackTrace();    
  71.         }    
  72.     }    
  73. }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值