DOM和SAX

  DOM的全称是Document Object Model,也即文档对象模型。基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合,应用程序挣是通过对这个对象模型的操作,来实现对XML文档数据的操作。

  DOM接口提供了一种通过分层对象模型来访问XML文档信息的方式,这些分层对象模型依据XML的文档结构形成一颗节点树。也就是说,DOM强制使用树模型来访问XML文档中的信息。

  SAX的全称是Simple APIs for XML,也即XML简单应用程序接口。SAX提供的顺序呢模式是一种顺序模式,这是一种快速读写XML数据的方式。应用程序通过这些事件处理函数实现对XML文档的访问,因而SAX接口也被称作事件驱动接口。

DOM的使用

  DOM的基本对象有5个:Document、Node、NodeList、Element和Attr

  我们总是先通过解析XML源文件而得到一个Document对象,然后再来执行后续的操作:

  1、createAttribute(String):用给定的属性名创建一个Attr对象,并可在其后使用setAttributeNode方法来设置在某一个Element对象上面。

  2、createElement(String):用给定的标签名创建一个element对象,代表XML文档中的一个标签,然后就可以在这个Element对象上添加属性或进行其他操作。

  3、createTextNode(String):用给定的字符串创建一个Text对象,Text对象代表了标签或属性中所包含的纯文本字符串。

  4、getElementsByTagName(String):返回一个NodeList对象,它包含了所有给定标签名字的标签。

  5、getDocumentElement():返回一个代表这个DOM树的根节点的Element对象,也就是代表了XML文档根元素的那个对象。

Node对象是DOM结构中最为基本的对象,它代表了文档树中的一个抽象的节点。Node对象所包含的主要方法有:

  1、appendChild(org.w3c.dom.Node):为这个节点增肌一个子节点,并放在所有子节点的最后。如果这个子节点已经存在,则先把它删掉再添加进去。

  2、getFirstChild():如果节点存在子节点,则返回第一个子节点。(getLastChild()返回最后一个子节点)。

  3、getNodeName():根据节点的类型返回节点的名称。

  4、getNodeValue():返回节点的值。

Element对象代表的是XML文档中的标签元素,它继承于Node,也是Node的最主要的子对象。在标签中可以包含属性,因而Element对象中有存取其属性的方法。而任何Node中定义的方法,也可以用在Element对象上面。

  1、getElementsByTagName(String):返回一个NodeList对象,它包含在这个标签中其下的子孙节点中具有给定标签名的标签。

  2、getAttribute(String):返回标签中给定属性名称的属性值。因为XML文档中允许有实体属性出现,而这个方法对这些实体属性并不适用。这时需要用getAttributeNodes()方法得到一个Attr对象来进行进一步的操作。

XML编程知识点总结的更多相关文章

  1. LINQ to XML 编程基础

    1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号 复制代码 ?创建 XML public static void CreateDocumen ...

  2. 【风马一族_xml】xml编程

    xml编程:利用java程序支增删改查(CRUD)XML中的数据 解析思想: dom解析 sax解析 基于这两种解析思想市面上就有了很多的解析api sun jaxp (比较弱)既有dom方式也有sa ...

  3. C++的XML编程经验――LIBXML2库使用指南[转]

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  4. XML编程

     XML编程 XML及其语法 XML约束之DTD XML编程(CRUD---Create Read Update Delete) XML约束之Schema XML语法: XML文档的组成: 一个X ...

  5. 【二十八】xml编程(dom\xpath\simplexml)

    1.xml基础概念 作用范围: 作为程序通讯的标准. 作为配置文件. 作为小型数据库. xml语法: <根标签> <标签 元素="元素值" ...>< ...

  6. PHP 自学之路-----XML编程(Dom技术)

    上一节,讲了Xml文件基本语法及元素,实体及Dtd约束技术,下面就正式进入PHP的Xml编程 使用PHP技术对Xml文件进行操作 常用的有以下三种技术: 1.PHP dom 2.PHP结合XPath操 ...

  7. C++的XML编程经验――LIBXML2库使用指南

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  8. VMware 虚拟机的虚拟磁盘编程知识点扫盲之二

    目录 目录 前文列表 VDDK 安装 VDDK VixDiskLib VADP 前文列表 VMware 虚拟机的虚拟磁盘编程知识点扫盲之一 VDDK 摘自官方文档:The Virtual Disk D ...

  9. C的xml编程-libxml2(转)

    这里主要讲述libxml2在linux下的使用. (以下内容除了linux下的安装步骤是自己写的,其余均出自http://www.blogjava.net/wxb_nudt/archive/2007/ ...

随机推荐

  1. 内存管理 - MEMORY POOL

    内存池优势: 效率高,频繁的new和delete效率低下 减少内存碎片,反复向系统申请和释放内存会产生大量内存碎片 防止内存泄露 内存池设计思路: 内存池可以根据实际需要,设计成不同的样子.下面是针对 ...

  2. ASP.NET MVC3 实现用户登录验证

    自定义一个授权筛选器类,继承于AuthorizeAttribute: using System; using System.Web; using System.Web.Mvc; namespace M ...

  3. NPOI 格式设置2—时间,千分位,繁体,小数位

    在Excel中我们经常要设置格式,比如说日期格式(yyyymmdd).小数点格式(1.20).货币格式($2000).百分比格式(99.99%)等等,这些东西在过去我们恐怕只能在服务器端生成好,不但增 ...

  4. C#小小总结(面向对象)

    前言 学c#也有一年的时间了 以前零零散散的记的一些笔记啊 随便之类的 没有写过比较整体一点的总结 所以现在写一个小小的总结 内容 一.面向对象 相信刚开始接触编程的童鞋都被这个概念弄糊涂过,对于刚刚 ...

  5. ubuntu 14.04安装右键打开终端功能

    命令行运行,安装完成后需重启: sudo apt-get install nautilus-open-terminal

  6. Makefile拆分编写

    在实际开发项目中,我们通常将一个工程划分为多个文件夹,每个文件夹代表不能的功能,如:我的一个项目cpl,它分为两个文件夹:src和test.当在cpl文件夹中运行make的时候,它的一级目录都会自动运 ...

  7. TextRank 自动文摘

    前不久做了有关自动文摘的学习,采用方法是TextRank算法,整理和大家分享. 一. 关于自动文摘 利用计算机将大量的文本进行处理,产生简洁.精炼内容的过程就是文本摘要,人们可通过阅读摘要来把握文本主 ...

  8. JavaScript侧边悬浮框

    <script> window.onscroll=function(){ var oDiv=document.getElementById('div1'); var scrollTop=d ...

  9. 事件的委托处理 javascript

    javascript的事件模型,采用"冒泡"模式,即子元素的事件会逐级向上"冒泡",成为父元素的事件.这点可以简化事件的绑定... 例如,一个表格(table) ...

  10. fcitx error

    (ERROR-2016 /build/fcitx-J2yftF/fcitx-4.2.9.1/src/lib/fcitx/ui.c:165) no usable user interface.(ERRO ...