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对象来进行进一步的操作。
XML编程知识点总结的更多相关文章
- LINQ to XML 编程基础
1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号 复制代码 ?创建 XML public static void CreateDocumen ...
- 【风马一族_xml】xml编程
xml编程:利用java程序支增删改查(CRUD)XML中的数据 解析思想: dom解析 sax解析 基于这两种解析思想市面上就有了很多的解析api sun jaxp (比较弱)既有dom方式也有sa ...
- C++的XML编程经验――LIBXML2库使用指南[转]
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- XML编程
XML编程 XML及其语法 XML约束之DTD XML编程(CRUD---Create Read Update Delete) XML约束之Schema XML语法: XML文档的组成: 一个X ...
- 【二十八】xml编程(dom\xpath\simplexml)
1.xml基础概念 作用范围: 作为程序通讯的标准. 作为配置文件. 作为小型数据库. xml语法: <根标签> <标签 元素="元素值" ...>< ...
- PHP 自学之路-----XML编程(Dom技术)
上一节,讲了Xml文件基本语法及元素,实体及Dtd约束技术,下面就正式进入PHP的Xml编程 使用PHP技术对Xml文件进行操作 常用的有以下三种技术: 1.PHP dom 2.PHP结合XPath操 ...
- C++的XML编程经验――LIBXML2库使用指南
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- VMware 虚拟机的虚拟磁盘编程知识点扫盲之二
目录 目录 前文列表 VDDK 安装 VDDK VixDiskLib VADP 前文列表 VMware 虚拟机的虚拟磁盘编程知识点扫盲之一 VDDK 摘自官方文档:The Virtual Disk D ...
- C的xml编程-libxml2(转)
这里主要讲述libxml2在linux下的使用. (以下内容除了linux下的安装步骤是自己写的,其余均出自http://www.blogjava.net/wxb_nudt/archive/2007/ ...
随机推荐
- Android Handler 最佳的理解资料
- New Training Table
2014_8_15 CodeForces 261 DIV2 A. Pashmak and Garden 简单题 B. Pashmak and Flowers 简单题 C. P ...
- git常见错误
一.如果输: $ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fat ...
- logstash 添加nginx日志
选择需求分类废话少说直接上图 第一张图: 2.此图搭配的日志格式是: log_format main '$remote_addr - $remote_user [$time_local] $http_ ...
- 关于调用deleteRowsAtIndexPaths withRowAnimation方法出现错误
通常原因是因为 这个方法的调用与数据源有关. 检测1.你的数据源是否写死了. 2.调用该方法前你是否移除相关的数据源 相关的核心代码如下: - (NSInteger)tableView:(UITabl ...
- guess number
crossin的前面几章基本和LPTHW内容重合,因此我直接做了他前面的一个综合练习. 猜数游戏, 即系统随机记录一个数,根据用户猜的记录,如果正确则告知,且退出游戏,如不正确,则提示答案与用户输入的 ...
- Koala-Sass编译
1.安装: 下载地址:http://koala-app.com/ 安装好了之后,打开界面如下: 2.简单配置: 打开设置: 3.设置中文: 打开安装目录下的文件:C:\Program Files (x ...
- Lua小技巧
来公司以后,业务逻辑都用lua写.写了好长时间了,到最近才觉得有点掌握了Lua的灵活.最近用Lua写了个类似集合一样的东西,如果两次向集合里放入同一个元素,就会报错,方便检查配置.代码如下: -- k ...
- MySQL 配置
MySQL 配置 1.服务启动: (1)使用 service 启动:service mysqld start (2)使用 mysqld 脚本启动:/etc/inint.d/mysqld start ( ...
- Nginx下css的链接问题
放在 Nginx 下的网页代码,在链接外部 css 文件时,可能出现没有链接成功的问题.需要在 nginx.conf 里的 http 下添加一行. http { include mime.types;