XML编程知识点总结

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对象来进行进一步的操作。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏李蔚蓬的专栏

JavaScript_note1

4.6.字符串运算符 字符串运算符是用于两个字符型数据之间的运算符,除了比较运算符之外,还可以是+和+=运算符。 Demo:

1012
来自专栏IMWeb前端团队

20个例子入门Q.js

本文希望通过20个简单的例子让没用过Q.js的同学快速掌握其基本用法 1. 新建实例 html代码: <div id="demo" q-text="msg"><...

2357
来自专栏海天一树

小朋友学C语言(1):Hello World

首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++。 若是第一次编写程序,建...

2705
来自专栏阮一峰的网络日志

async 函数的含义和用法

本文是《深入掌握 ECMAScript 6 异步编程》系列文章的最后一篇。 Generator函数的含义与用法 Thunk函数的含义与用法 co函数库的含义...

2826
来自专栏Golang语言社区

JS基础(下)

事件DOM Event 更多事件请查询h3c htmldom参考手册 event onclick() :当点击时 onfocus() :获得焦点时 ;当...

4517
来自专栏前端杂货铺

前端开发中的字符编码

前端开发过程中会接触各种各样的编码,比较常见的主要是UTF-8和HTML实体编码,但是web前端的世界却不止这两种编码,而且编码的选择也会造成一定的问题,如前后...

3418
来自专栏大数据学习笔记

Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.4 数据类型和存储格式)(草稿)

第11章 Hive:SQL on Hadoop 11.4 数据类型和存储格式 11.4.1 数据类型 (1)基本类型 Hive 支持关系型数据中大多数基本数...

1949
来自专栏小灰灰

SPI框架实现之旅三:实现说明

SPI框架实现之旅三:实现说明 前一篇 《SPI框架实现之旅二:整体设计》中,介绍了几个定义的接口,注解;叙述了实现流程;并简单的介绍了 SpiLoader中...

19510
来自专栏程序员互动联盟

【编程基础】聊聊C语言-兵马未动粮草先行(1)

上一篇我们讲的聊聊C语言-我的地盘我做主,相信大家对变量的存储类型和变量的作用域有了一定的了解。现在我们马上公布上期的答案如下: #include<stdio....

3328
来自专栏张善友的专栏

深入浅出事件流处理NEsper(二)

NEsper使用的事件类型来描述事件的类型信息。你的应用在启动时可能预先配置定义事件类型,或者在运行时通过API或EPL语法动态的增加事件类型。 EPL中的cr...

19910

扫码关注云+社区

领取腾讯云代金券