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

Java眼中的XML 文件写入

难度初级
时长 2小时 0分
学习人数
综合评分9.67
227人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • ####一、主要用到的类: 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处理文档的细节(略)
    查看全部
  • 步 骤
    查看全部
  • 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.创建一个File对象用于接收写入的操作 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);
    查看全部
  • 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.创建一个File对象用于接收写入的操作 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);
    查看全部
  • standalone : 用来表示该文件是否呼叫其它外部的文件。若值是 ”yes” 表示没有呼叫外部文件,即说明当前的xml文件是没有DTD和Schema作为它的相关文档,若值是 ”no” 则表示有呼叫外部文件。 默认值是 “yes”。 DTD:文档类型定义(Document Type Definition)是一套关于标记符的语法规则。 <?xml version="1.0" encoding="utf-8" standalone="no" ?> 注:顺序不能弄错,要不然会报错 附:一开始以为是standalone =“no”的问题 ,后来查了一下 发现,这个属性真正的意思是: XML standalone 定义了外部定义的 DTD 文件的存在性. standalone element 有效值是 yes 和 no. 如下是一个例子: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd"> <s1>.........</s1> 值 no 表示这个 XML 文档不是独立的而是依赖于外部所定义的一个 DTD. 值 yes 表示这个 XML 文档是自包含的(self-contained). Ps:因为两个视频的说法引起歧义,又去网络上查了下,standalone表示该xml是不是独立的,如果是yes,则表示这个XML文档时独立的,不能引用外部的DTD规范文件;如果是no,则该XML文档不是独立的,表示可以引用外部的DTD规范文档。 1.<?xml version="1.0" encoding="utf-8" standalone="yes/no"?> yes:说明当前的xml文件是没有DTD和Schema作为它的相关文档的;no:相反 2. 节点对象.setTextContent 可以为文本节点添加节点值(这里直接给Element节点setValue添加节点值是不行的,Element的nodeValue为null)
    查看全部
  • 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

  • 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.通过book.setAttribute("id","1");为book添加属性。 7.通过bookstore.appendChild(book);将刚才创建的book节点添加到bookstore根节点中。 8.通过document.appendChild(bookstore),将之前创建的bookstore节点(已经包含了book),添加到dom树中。 所以是 创建document,创建跟节点,创建子节点,为子节点添加属性,再依次把子节点添加到父节点中,最多添加到根节点,添加到dom树中。 创建根节点和 book 节点属性 public DocumentBuilder getDocumentBuilder(){ // 创建一个DocumentBuilderFactory的对象 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // 创建DocumentBuilder对象 DocumentBuilder db =null; try { db = dbf.newDocumentBuilder(); } catch (ParserConfigurationException e) { e.printStackTrace(); } return db; }
    查看全部
  • 四种生成xml方式对比。
    查看全部
  • 四种生成xml方式对比。
    查看全部
  • element name=document.createlement("name")<br> book.appendChild(name);<br>name不用双引号括起来 book.setAttribute()<br> name.setTextContent("小王子")
    查看全部
  • element name=document.createlement("name") book.appendChild("name"); book.setAttribute() name.setTextContent("小王子")
    查看全部
  • 将已经在Java中创建好的xml文件写到具体的文件当中
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2016-03-25

  • 生成和解析xml文件的步骤: 创建一个DocumentBuilderFactory的对象 创建一个DocumentBuilder对象
    查看全部
  • /设置生成的xml的格式 OutputFormat.createPrettyPrint(); //设置生成的字符不转义 writer.setEscapeText(false);
    查看全部
    0 采集 收起 来源:处理转义字符

    2016-03-10

  • 创建xml
    查看全部
    0 采集 收起 来源:创建 XML 文件

    2016-03-08

举报

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

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