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

Java眼中的XML 文件写入

难度初级
时长 2小时 0分
学习人数
综合评分9.67
227人评价 查看评价
9.8 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • 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”。

    PS:DTD是文档类型定义(Document Type Definition)是一套关于标记符的语法规则。

    查看全部
  • 将DOM树转换成XML文件
    1.创建TransformerFactory对象,Factory为工厂类,不能直接new对象,通过newInstance获取对象
        TransformerFactory tff = TransformerFactory.newInstance();
    2.通过tff获取Transfomer对象
        Transformer tf = tff.newTransformer();
    3.指定换行格式
        tf.setOutputProperty(OutputKeys.INDENT,"yes");
    4.用DOM树生成XML文件,将DOM树以及输出流作为参数传入
        tf.transform(new DOMSource(Document do),new StreamResult(new File("books1.xml"));

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

    2018-05-22

  • 创建XML文件步骤
    1,前两个步骤和解析XML文件一致,都是获取DocumentBuilder对象
       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
       DocumentBuilder db = dbf.getDocumentBuilder();
    2,通过DocumentBuilder的newDocument方法获取Document对象,代表着要生成的DOM树
       Document do = db.newDocument();
    3,将根节点添加进DOM树
       Element ele = do.createElement("bookStore");
       document.appendChild(ele);
    4,将子节点添加进DOM树
       Element ele1 = document.createElement("book");
       ele.appendChild(ele1)
    5,将子节点的属性及属性值添加进DOM树
       ele1.setAttribute("id","1");

    查看全部
  • DOM:418;SAX:3;JDOM:158;DOM4J:59 SAX快但是不便于回头修改
    查看全部
  • standalone="no"说明dtd那里有说明文档
    查看全部
  • 解析xml文件常用的4中方法:DOM,SAX,JDOM,DOM4J
    查看全部
    0 采集 收起 来源:课程简介

    2018-01-27

  • DOM/SAX官方自带: DOM生成DOM树加载到内存,方便修改,性能慢。 SAX性能最高,但是不能返回修改便签中的内容 DOM4J相对综合最好,应用广泛
    查看全部
  • 如果要频繁修改选择DOM方式,否则选择SAX(速率较快)。 假设我现在要生成一个xml。让它去存储书籍信息。首先写根节点bookstore,然后添加第一本书,然后添加第二本书,这时候发现第一本书中有某一个内容忘记添加了,想回去进行修改或增加。这时候我们发现SAX解析是无法做到这一点的,因为SAX解析是基于事件的。基于事件的模型呢,把某一个标签走完了之后,它是不能走回头路的,它没有状态性可言。所以在使用DOM还是SAX进行选择时,要考虑到你是不是要对生成的模型进行频繁的修改。如果不是呢,建议选用SAX,因为SAX的性能也是非常高的。
    查看全部
  • JDOM设置XML文本的格式和编码: //方法一: Format fromat=Format.getCompactFormat(); format.setIndent(""); fromat.setEncodeing("GBK"); XMLOutputter outputter=new XMLOutputter(format); //方法二: Format format=Format.getPrettyFormat(); format.setEncoding("GBK");
    查看全部
  • JDOM生成XML不会转义的方法: Element title = new Element("title"); //title.setText("国内最新新闻"); CDATA cdata = new CDATA("<!上海移动互联网产业促进中心正式揭牌>"); title.addContent(cdata); channel.addContent(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 outputter = new XMLOutputter(); try { outputter.output(document,new FileOutputStream(new File("rssnews.xml"))); } catch (IOException e) { e.printStackTrace(); }
    查看全部
  • 处理转义字符: 在写XML文件时有一些符号是转义字符,会默认进行转义操作,从而不会直接显示原字符。 人为设置是否转义的方法: 在生成XML文件时进行设置: writer.setEscapeText(boolean);//默认值是false,代表转义
    查看全部
    0 采集 收起 来源:处理转义字符

    2018-01-17

  • //4.生成子节点及节点内容 Element channel = rss.addElement("channel"); Element title = channel.addElement("title"); title.setText("国内最新新闻"); //5.设置生成xml的格式 OutputFormat format = OutputFormat.createPrettyPrint();//自动换行和缩进 format.setEncoding("GBK"); //6.生成xml文件 File file = new File("rssnews.xml"); try { XMLWriter writer = new XMLWriter(new FileOutputStream(file),format); writer.write(document); writer.close(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
    查看全部
  • RSS通常是用来描述和同步网站内容的一种格式,本质是xml xml通常的用途就是可以共享数据 rss文件格式:<xml version = 版本号 encoding = 编码> <rss version = 版本号> <channel>内容</channel> </rss> </xml>
    查看全部
    0 采集 收起 来源:什么是 RSS

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

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