java 导出xml文件的四种方式
时间:2019-12-11
本文章向大家介绍java 导出xml文件的四种方式,主要包括java 导出xml文件的四种方式使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
public class CreateXML { //DOM方式创建XML文件 public void DOMcreateXML() { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null; try { db = factory.newDocumentBuilder(); Document document = db.newDocument(); document.setXmlStandalone(true); Element bookstore = document.createElement("bookstore"); Element book = document.createElement("book"); Element name = document.createElement("name"); name.setTextContent("<c++>"); book.setAttribute("id", "three"); book.appendChild(name); bookstore.appendChild(book); document.appendChild(bookstore); TransformerFactory tff = TransformerFactory.newInstance(); Transformer tf = tff.newTransformer(); tf.setOutputProperty(OutputKeys.INDENT, "yes"); tf.transform(new DOMSource(document), new StreamResult(new File("res/books2.xml"))); }catch (ParserConfigurationException e1) { e1.printStackTrace(); }catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } //SAX生成XML文件 public void SAXCreateXML() { SAXTransformerFactory tff = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); try { TransformerHandler handler = tff.newTransformerHandler(); Transformer tf = handler.getTransformer(); tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); tf.setOutputProperty(OutputKeys.INDENT, "yes"); File f = new File("res/newbooks.xml"); if(!f.exists()) { f.createNewFile(); } Result result = new StreamResult(new FileOutputStream(f)); handler.setResult(result); handler.startDocument(); AttributesImpl attr = new AttributesImpl(); handler.startElement("", "", "bookstore",attr); attr.clear(); attr.addAttribute("", "", "id", "", "one"); handler.startElement("", "", "book", attr); attr.clear(); handler.startElement("", "", "name", attr); handler.characters(new char[]{'<','c','>'}, 0, "<c>".length()); handler.endElement("", "", "name"); handler.endElement("", "", "book"); handler.endElement("", "", "bookstroe"); handler.endDocument(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } } //DOM4J创建XML public void DOM4JCreateXML() { org.dom4j.Document document = DocumentHelper.createDocument(); org.dom4j.Element rss = document.addElement("rss"); rss.addAttribute("version", "2.0"); org.dom4j.Element channel = rss.addElement("channel"); org.dom4j.Element title = channel.addElement("title"); title.setText("国内新闻"); OutputFormat format = OutputFormat.createPrettyPrint(); //生成文件 File file = new File("res/rssbooks.xml"); XMLWriter writer; try { writer = new XMLWriter(new FileOutputStream(file),format); writer.setEscapeText(false); writer.write(document); writer.close(); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //JDOM创建XML public void JDOMCreateXML() { org.jdom2.Element rss = new org.jdom2.Element("rss"); rss.setAttribute("version", "2.0"); //生成一个document对象 org.jdom2.Document document = new org.jdom2.Document(rss); org.jdom2.Element channel = new org.jdom2.Element("channel"); rss.addContent(channel); org.jdom2.Element title = new org.jdom2.Element("title"); title.setText("国内新闻"); channel.addContent(title); //创建XMLoutputer对象 Format format = Format.getCompactFormat(); format.setIndent(""); format.setEncoding("utf-8"); XMLOutputter outputer = new XMLOutputter(format); //利用outputer将document对象转换成xml文档 try { outputer.output(document, new FileOutputStream(new File("res/jdom.xml"))); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
原文地址:https://www.cnblogs.com/Koaler/p/12021034.html
- TensorFlow模拟简单线性模型小栗子
- web跨域解决方案
- Bootstrap幻灯轮播如何支持触屏左右滑动手势?
- JavaScript 调试小技巧
- 图片上传预览js
- Isolation Forest算法实现详解
- css继承样式怎么控制?用选择器
- wordpress站内搜索结果页URL伪静态如何操作
- 如何实现大图居中超过的部分两边自动隐藏
- Ubuntu16.04安装后开发环境配置和常用软件安装
- wordpress如何屏蔽wp-json(禁用REST API)
- 贝叶斯系列——贝叶斯与其他统计流派的区别和联系
- bootstrap tab切换如何让鼠标移动自动切换内容
- css自动换行如何设置?url太长会撑开页面
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Array - 128. Longest Consecutive Sequence
- String - 13. Roman to Integer
- String - 171. Excel Sheet Column Number
- String - 168. Excel Sheet Column Title
- String - 316. Remove Duplicate Letters
- String - 38. Count and Say
- String - 161. One Edit Distance
- String - 6. ZigZag Conversion
- String - 179. Largest Number
- 利用Github Pages实现“服务CNAME”功能
- String - 49. Group Anagrams
- Flutter包大小治理上的探索与实践
- String - 242. Valid Anagram
- String - 290. Word Pattern
- String - 205. Isomorphic Strings