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

Java眼中的XML 文件写入

难度初级
时长 2小时 0分
学习人数
综合评分9.67
227人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • D_r
    注意:setResult一定要在startDocument之前,否则报异常 //为节点添加文本, 将book的name字符串转为字符数组,截取0-字符大小的字符 handler.characters(book.getName().toCharArray(), 0, book.getName().length()); void characters(char[] ch, int start, int length)
    查看全部
  • 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

  • D_r
    对xml文件进行的编码设置和换行设置如果放在setResult()后面那就不会生效了。 7.利用handler对象进行xml文件内容的编写 //打开document handler.startDocument(); AttributesImpl attr=new AttributesImpl(); handler.startElement(null, null, "bookstore", attr); attr.clear();//用完一次清除一次。 attr.addAttribute(null, null, "id", null, "1"); handler.startElement(null, null, "book", attr); attr.clear(); attr.addAttribute(null, null, "ic", null, "1"); handler.startElement(null, null, "name", attr); handler.endElement(null, null, "name"); handler.endElement(null, null, "book"); handler.endElement(null, null, "bookstore"); 如果不加endElement就没有结束标签 每一个Element里面都要添加一个Attribute,可以重复利用
    查看全部
  • D_r
    SAX 方式生成xml // 1.创建一个TransformerFactory类的对象 SAXTransformerFactory tff = (SAXTransformerFactory) SAXTransformerFactory .newInstance(); try { // 2.通过SAXTransformerFactory对象创建一个TransformerHandler对象 TransformerHandler handler = tff.newTransformerHandler(); // 3.通过handler对象创建一个Transformer对象 // Transformer tr = handler.getTransformer(); // // 4.通过Transformer对象对生成的xml文件进行设置 // // 设置xml的编码 // tr.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); // // 设置xml的“是否换行” // tr.setOutputProperty(OutputKeys.INDENT, "yes"); // 5.创建一个Result对象 File f = new File("src/res/newbooks.xml"); if (!f.exists()) { f.createNewFile(); } // 6.创建Result对象,并且使其与handler关联 Result result = new StreamResult(new FileOutputStream(f)); handler.setResult(result);
    查看全部
  • D_r
    1.<?xml version="1.0" encoding="utf-8" standalone="yes/no"?> standalone = "no"//如果等于yes的话说明当前的xml文件是没有dtd和schema作为他的说明文档的。如果等于no,说明他有dtd和schema解释说明他的内容允许有哪些值以及允许的值的一些形式。由于当前xml文件是很简单的xml文件她不涉及格式说明要求,所以我们不需要standalone,也就是说应该把它设置成为yes,并且不显示在我们的第一行声明部分 DTD:文档类型定义(Document Type Definition)是一套关于标记符的语法规则。 document.setxmlStandalone(true)将它设置成true其实就相当于standalone 等于yes,并且他会不显示。因为默认他就是不显示的,默认值就是yes. 2. 节点对象.setTextContent 可以为文本节点添加节点值(这里直接给Element节点setValue添加节点值是不行的,Element的nodeValue为null)
    查看全部
  • D_r
    生成XML文件 1.通过TransformerFactory.newInstance() 创建TransformerFactory对象tff 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

  • D_r
    DOM方法 1.通过DocumentBuilderFactory.newInstance()实例一个DocumentBuilderFactory对象dbf。 2.通过dbf.newDocumentBuilder()创建DocumentBuilder对象db,注意捕捉异常 3.通过db.newDocument()创建Document对象document. 4.通过document.createElement("bookstore");创建一个bookstore节点 5.通过document.createElement("book");为bookstore创建一个book节点 6.通过boo.setAttribute("id","1");为book添加属性。 7.通过bookstore.appendChild(book);将刚才创建的book节点添加到bookstore根节点中。 8.通过document.appendChild(bookstore),将之前创建的bookstore节点(已经包含了book),添加到dom树中。 所以是 创建document,创建跟节点,创建子节点,为子节点添加属性,再依次把子节点添加到父节点中,最多添加到根节点,添加到dom树中。
    查看全部
  • 尝试生成不同容量文件的速度并比较快慢
    查看全部
  • DOM:基于tree SAX:基于事件 JDOM、DOM4J:基于底层API DOM方便后续改动操作,但比较占用内存,因为是加载整个DOM树在内存中。 SAX是逐步解析和写入的,也就是说在写入时,已经操作完成的写入部分是无法进行修改的,因为SAX是基于事件的,其将某一个标签走完之后是不能走回头路的,没有状态性可言,但SAX的性能是非常高的。 这两种方式的选择中很大一部分判断基于是否对文档进行频繁的修改
    查看全部
  • 四中方式
    查看全部
  • SAXTransformerFactory.newInstance()-->>创建一个SAXTransformerFactory类的对象.newTransformerHandler()-->>创建一个TransformerHandler对象.getTransformer()-->>创建一个Transformer对象.setOutputProperty()-->>设置xml文件-->>new StreamResult(new FileOutputStream(new File("xxx")))创建一个result对象
    查看全部
  • SAXTransformerFactory.newInstance()-->>创建一个SAXTransformerFactory类的对象.newTransformerHandler()-->>创建一个TransformerHandler对象.getTransformer()-->>创建一个Transformer对象.setOutputProperty()-->>设置xml文件-->>new StreamResult(new FileOutputStream(new File("xxx")))创建一个result对象
    查看全部
  • SAXTransformerFactory.newInstance()-->>创建一个SAXTransformerFactory类的对象.newTransformerHandler()-->>创建一个TransformerHandler对象.getTransformer()-->>创建一个Transformer对象.setOutputProperty()-->>设置xml文件
    查看全部
  • standalone : 用来表示该文件是否呼叫其它外部的文件。若值是 ”yes” 表示没有呼叫外部文件,即说明当前的xml文件是没有DTD和Schema作为它的相关文档,若值是 ”no” 则表示有呼叫外部文件。默认值是 “yes”。 DTD:文档类型定义(Document Type Definition)是一套关于标记符的语法规则。
    查看全部
  • 生成XML文件 1.通过TransformerFactory.newInstance() 创建TransformerFactory对象tff 2.通过tff.newTransformer()创建Transformer对象tf 3.通过tf.transform(newDOMSource(document),new StreamResult(new File("books1.xml")))
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2018-03-22

举报

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下载
官方微信
友情提示:

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