为了账号安全,请及时绑定邮箱和手机立即绑定

Java眼中的XML 文件写入

难度初级
时长 2小时 0分
学习人数
综合评分9.67
227人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • 1.通过TransformerFactory.newInstance() 创建TransformerFactory对象tff把document对象转换为xml文件 来自 <http://www.imooc.com/video/5200/0> 2.通过tff.newTransformer()创建Transformer对象tf 3.通过tf.transform(newDOMSource(document),new StreamResult(new File("books1.xml"))),并且捕捉异常 运行后,发现没有输出,但是已经生产了,refresh一下有了books1.xml 打开生产的xml文件,发现没有换行。可以在之前的代码中添加tf.setOutputProperty(OutputKeys.INDENT,"yes"); OutputKeys.INDENT代表是否换行,yes 代表 换行
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2018-03-22

  • OutputFormat.createPrettyPrint();自动完成缩进和换行,生成漂亮的格式。
    查看全部
  • private void createXML(){ //1.创建document对象,代表整个xml文档 Document document = DocumentHelper.createDocument(); //2.创建根节点rss Element rss = document.addElement("rss"); //3.向rss节点中添加version属性 rss.addAttribute("version", "2.0"); //4.生成子节点及节点内容 Element channel = rss.addElement("channel"); Element title = channel.addElement("title"); title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>"); //5.设置生成xml的格式 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); //6.生成xml文件 File file = new File("rssnews.xml"); XMLWriter writer; try { writer = new XMLWriter(new FileOutputStream(file), format); //设置是否转义,默认值是true,代表转义 writer.setEscapeText(false); writer.write(document); writer.close(); } catch (IOException e) { e.printStackTrace(); }
    查看全部
  • 1.通过TransformerFactory.newInstance() 创建TransformerFactory对象tff把document对象转换为xml文件 来自 <http://www.imooc.com/video/5200/0> 2.通过tff.newTransformer()创建Transformer对象tf 3.通过tf.transform(newDOMSource(document),new StreamResult(new File("books1.xml"))),并且捕捉异常 运行后,发现没有输出,但是已经生产了,refresh一下有了books1.xml 打开生产的xml文件,发现没有换行。可以在之前的代码中添加tf.setOutputProperty(OutputKeys.INDENT,"yes"); OutputKeys.INDENT代表是否换行,yes 代表 换行
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2018-03-22

  • XML的四种读写方式 DOM:基于DOM Tree 会存在内存中,可以频繁的修改 SAX:基于事件 不会存在于内存,无法返回修改 DOM4J:基于底层API JDOM:基于底层API
    查看全部
  • XML的四种读写方式 DOM:基于DOM Tree 会存在内存中,可以频繁的修改 SAX:基于事件 不会存在于内存,无法返回修改 DOM4J:基于底层API JDOM:基于底层API DOM:基于tree SAX:基于事件 JDOM、DOM4J:基于底层API DOM方便后续改动操作,但比较占用内存,因为是加载整个DOM树在内存中。 SAX是逐步解析和写入的,也就是说在写入时,已经操作完成的写入部分是无法进行修改的,因为SAX是基于事件的,其将某一个标签走完之后是不能走回头路的,没有状态性可言,但SAX的性能是非常高的。 这两种方式的选择中很大一部分判断基于是否对文档进行频繁的修改
    查看全部
  • JDOM设置XML文本的格式: Format fromat=Format.getCompactFormat(); format.setIndent(""); fromat.setEncodeing("GBK"); XMLOutputter outputer=new XMLOutputter(format);
    查看全部
  • JDOM生成XML不会转义的方法: Element title = new Element("title"); CDATA cdata = new CDATA("上海移动互联网产业促进中心正式揭牌"); title.setContent(cdata); 转义操作将title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>");换成title.addContent(new CDATA("上海移动互联网产业促进中心正式揭牌")); channel下添加带内容的title节点: rss.addContent(channel);//加入channel下 title.setText();//在title中添加内容 channel.addContent(title);//加入title下 rss.addContent(channel);//加入channel下 title.setText();//在title中添加内容 channel.addContent(title);//加入title下
    查看全部
  • JDOM 生成 XML 根节点 private void createXML() { //1.生成一个根节点 Element rss = new Element("rss"); //2.为节点添加属性 rss.setAttribute("version", "2.0"); //3.生成一个document对象 Document document = new Document(rss); //4.创建XMLOutputter的对象 XMLOutputter outputer = new XMLOutputter(format); try { //5.利用outputer将document对象转换成xml文档 outputer.output(document, new FileOutputStream(new File("rssnews.xml"))); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
    查看全部
  • //设置生成的xml的格式 OutputFormat.createPrettyPrint(); //设置是否转义,默认值是true,代表转义 xmlWriter.setEscapeText(false);
    查看全部
    0 采集 收起 来源:处理转义字符

    2016-04-06

  • 设置xml显示格式 调用prettyformat可以实现换行缩进
    查看全部
  • //4.生成子节点及节点内容 Element channel = rss.addElement("channel"); Element title = channel.addElement("title"); title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>"); //5.设置生成xml的格式 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); //6.生成xml文件 File file = new File("rssnews.xml"); XMLWriter writer; try { writer = new XMLWriter(new FileOutputStream(file), format); //设置是否转义,默认值是true,代表转义 writer.setEscapeText(false); writer.write(document); writer.close(); } catch (IOException e) { e.printStackTrace(); }
    查看全部
  • private void createXML(){ //1.创建document对象,代表整个xml文档 Document document = DocumentHelper.createDocument(); //2.创建根节点rss Element rss = document.addElement("rss"); //3.向rss节点中添加version属性 rss.addAttribute("version", "2.0"); //4.生成子节点及节点内容 Element channel = rss.addElement("channel"); Element title = channel.addElement("title"); title.setText("<![CDATA[上海移动互联网产业促进中心正式揭牌 ]]>"); //5.设置生成xml的格式 OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); //6.生成xml文件 File file = new File("rssnews.xml"); XMLWriter writer; try { writer = new XMLWriter(new FileOutputStream(file), format); //设置是否转义,默认值是true,代表转义 writer.setEscapeText(false); writer.write(document); writer.close(); } catch (IOException e) { e.printStackTrace(); }
    查看全部
  • 注意:setResult一定要在startDocument之前,否则报异常 //为节点添加文本, 将book的name字符串转为字符数组,截取0-字符大小的字符 handler.characters(book.getName().toCharArray(), 0, book.getName().length()); void characters(char[] ch, int start, int length) 接收字符数据的通知。
    查看全部
  • ####一、主要用到的类: 1. SAXTransformerFactory:用于创建TransformerHandler实例 2. TransformerHandler:用于生成解析文档 3. Transformer:用于格式化输出的结果 4. Result:用于保存TransformerHandler产生的结果 ####二、主要的流程 // 创建一个工厂类实例,用于创建Handler实例 SAXTransformerFactory factory = (SAXTransformerFactory)SAXTransformer.newInstance(); // 从工厂实例中获取Handler实例 TransformerHandler handler = factory.newTransformerHandler(); // 创建一个格式化传输器 Transformer transformer = handler.getTransformer(); // 设置输出属性:OutputKeys.IDENNT="yes"表示输出结果带换行 former.setOutputProperty(OutputKeys.IDENNT,"yes"); // 创建转换结果持有器,用于保存Handler输出的结果 Result result = new StreamResult(new File("demo.txt")); // 建立handler与result之间的关联,确保handler处理的结果能正确的保存到result中 handler.setResult(result); // handler处理文档的细节(略)
    查看全部

举报

0/150
提交
取消
课程须知
本课程是 Java 的中级课程,需要各位小伙伴们熟悉 Java 面向对象的思想,并能熟练掌握 Java I/O 的相关知识。对什么是XML,如何读取XML有疑惑的小伙伴们,可以先去学习《Java眼中的XML---文件读取》进修。
老师告诉你能学到什么?
1、通过DOM方式生成xml文档 2、通过SAX方式生成xml文档 3、通过DOM4J方式生成xml文档 4、通过JDOM方式生成xml文档 5、不同生成方法大PK

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!