[文档整理系列] Java SE之XML<二>XML DOM与SAX解析

XML编程:CRUD(Create Read Update Delete)

XML解析的两种常见方式:
  DOM(Document Object Model):
    特点:树状解析
    优点:【更适合对XML文档的(crud)操作。】对XML文档增删改查操作很方便灵活
    缺点:内存消耗很大,不适合数据量很大,节点很多的XML文档。

  SAX(Simple API for XML):
    特点:自上往下顺序解析
    优点:【占用内存小,解析速度快,只适合对数据的读取。】
    缺点:【不适合对XML文档的crud操作。】对XML文档增删查改极为不便。

常用解析开发包:JAXP(sun),Jdom,dom4j
======================================================================
由于上两种XML文档的解析方式对内存的需求差异:

需要---- 调整JVM内存
=============================================
DOM解析编程
  遍历所有节点
  查找某一节点

  删除节点

  更新节点

  添加节点
==============================================
更新XML文档

javax.xml.transform包中的Transformer类用于把代表XML文件的Document对象转换成某种格式后进行输出,例如把xml文档应用样式表表后转成一个HTML文档。利用这个对象,当然也可以把Document对象又更新写入到一个XML文件中。

Transformer类通过transform方法完成转换操作,该方法接收一个源和一个目的地。我们可以通过:
1.javax.xml.transform.dom.DOMSource类来关联要转换的Document对象
2.用javax.xml.transform.stream.StreamResult对象来表示数据的目的地

Transformer对象通过TransformerFactory获得

Document(node)--->DomSource(Source)--->StreamResult(Result)--->OutStream
transform (DomSource,FileStream)
DomSource Transform
TransformFactory

Java SE之XML<二>XML DOM与SAX解析的更多相关文章

  1. schema文件及XML文件的DOM和Sax解析

    schema文件 <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="htt ...

  2. XML - 十分钟了解XML结构以及DOM和SAX解析方式

    引言 NOKIA 有句著名的广告语:"科技以人为本".不论什么技术都是为了满足人的生产生活须要而产生的.详细到小小的一个手机.里面蕴含的技术也是浩如烟海.是几千年来人类科技的结晶, ...

  3. JavaEE实战——XML文档DOM、SAX、STAX解析方式详解

    原 JavaEE实战--XML文档DOM.SAX.STAX解析方式详解 2016年06月22日 23:10:35 李春春_ 阅读数:3445 标签: DOMSAXSTAXJAXPXML Pull 更多 ...

  4. java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较

    1)DOM(JAXP Crimson解析器)     DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特 ...

  5. java基础71 XML解析中的【DOM和SAX解析工具】相关知识点(网页知识)

    本文知识点(目录):本文下面的“实例及附录”全是DOM解析的相关内容 1.xml解析的含义    2.XML的解析方式    3.xml的解析工具    4.XML的解析原理    5.实例    6 ...

  6. iOS开发中XML的DOM和SAX解析方法

    一.介绍 dom是w3c指定的一套规范标准,核心是按树形结构处理数据,dom解析器读入xml文件并在内存中建立一个结构一模一样的“树”,这树各节点和xml各标记对应,通过操纵此“树”来处理xml中的文 ...

  7. Android解析xml文件-采用DOM,PULL,SAX三种方法解析

    解析如下xml文件 <?xml version="1.0" encoding="UTF-8"?> <persons> <perso ...

  8. Dom,pull,Sax解析XML

    本篇随笔将详细讲解如何在Android当中解析服务器端传过来的XML数据,这里将会介绍解析xml数据格式的三种方式,分别是DOM.SAX以及PULL. 一.DOM解析XML 我们首先来看看DOM(Do ...

  9. XML解析的二种方法之Sax解析

    package com.huawei.xml; import java.io.InputStream;import java.util.Stack; import javax.xml.parsers. ...

随机推荐

  1. BAT脚本实例

    一个简单的BAT脚本实例,重点在于说明各命令用法: @ ECHO OFF REM 打开ECHO回显 echo 1.列出C盘根目录中所有文件 pause dir C:\ echo. echo 2.等待1 ...

  2. Linux安装Gitlab,附iSCSI分区挂载说明

    因为Gitlab数据要存放在共享存储,所以本次配置的重头戏倒变成了挂载ISCSI了. OS:CentOS 7.2IP:172.16.1.191/192.168.2.191 iSCSI分Target(服 ...

  3. 区块链使用Java,以太坊 Ethereum, web3j, Spring Boot

    Blockchain is one of the buzzwords in IT world during some last months. This term is related to cryp ...

  4. [luogu2286][宠物收养所]

    题目链接 思路 比较裸的一道平衡树的题.用一个变量S来表示当前树的情况,当S为负数时树内为宠物,当S为正数时树内为人.然后每次分情况讨论一下.如果树为空或者是与来的东西(人或宠物)与树内存的相同.那么 ...

  5. mysql数据库的优化和查询效率的优化

    一.数据库的优化 1.优化索引.SQL 语句.分析慢查询: 2.设计表的时候严格根据数据库的设计范式来设计数据库: 3.使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘IO: ...

  6. SpringBoot+Shiro+Redis共享Session入门小栗子

    在单机版的Springboot+Shiro的基础上,这次实现共享Session. 这里没有自己写RedisManager.SessionDAO.用的 crazycake 写的开源插件 pom.xml ...

  7. 114. Flatten Binary Tree to Linked List(M)

    . Flatten Binary Tree to Linked List Given a binary tree, flatten it to a linked list in-place. For ...

  8. 用Jdbc连接数据库后实现增删改查功能

    增删改用的都是executeUpdate()方法: 查用的是executeQuery()方法 package cn.lideng.dbc; import java.lang.management.Ma ...

  9. 数据库MySQL

    --IN 关键字 在.....里 SELECT * FROM zhangwu WHERE money IN (66,666,700); 1.主键约束 特点非空 只用于表示當前的记录 primary k ...

  10. 看我如何未授权登陆某APP任意用户(token泄露实例)

    转载:https://www.nosafe.org/thread-333-1-1.html  先来看看这个.   首先,我在登陆时候截取返回包修改id值是无效的,因为有一个token验证,经过多次登陆 ...