java 面向对象编程 第20章 XML技术解析
1、 XML:extended Markup Language 可扩展标记语言,利用标签和子标签方式描述数据。
2、 声明<?xml version=”1.0”?>版本号
注释<!-- -->
空元素:<x/>标签之间没有内容
3、 每个XML文档必须有且只有一个根元素;根元素是一个完全包括文档中其它所有元素的元素;所有的元素都必须在根元素中定义。
4、 实体在XML中是存储单元,,一个实体可以包含字符串、文件、数据库记录,以及一些其它数据。预定义的符号:“<”“””“>”,在XML文档中使用预定义的实体来代替,书上P527。
5、 CDATA是不被解析器解析的文本。文本内的标签不会被当作标记,实体不会被展开。语法:<![CDATA[ ….. ]]>
6、 XML文档必须是格式良好的(Well-formed):满足XML基本的语法规则。如果XML文档不是格式良好的,就不能被应用程序和浏览器正确识别和解析。
7、 语法规范:
a) 必须有XML声明语句;<?xml version=”1.0”?>
b) 必须有且仅有一个根元素;
c) 标记大小写敏感;
d) 属性值用双引号或单引号;
e) 标记成对;
f) 空标记关闭
g) 元素正确嵌套
8、 有效的XML除了要满足XML规范外,还要满足相应DTD和Schema定义的元素规则;有效的XML一定是格式良好的,但格式良好的XML不一定是有效的。
9、 DOM解析:基于树状结构的API;整个XML文档必须在内存中解析和存储;客户端应用程序可以随机访问这些对象;大型文档则会造成内存紧张。
10、 SAX提供一种用于解析XML文档的事件驱动模型;使用回调机制将事件通知应用程序;特点:不必将整个文件加载到内存中,占用的内存少;不能对文档进行随机访问;SAX是只读的;文档只能遍历一次。
java 面向对象编程 第20章 XML技术解析的更多相关文章
- java面向对象编程— —第七章 继承
7.1继承的起源 继承(Inheritance),即在面向对象编程中,可以通过扩展(extends)一个已有的类,并继承该类的属性的行为,来创建一个新的类. 已有的类称为父类(也可以称为基类,超类), ...
- java面向对象编程——第四章 类和对象
OO:面向对象 OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计 结构化编程:从顶向下,将一个大问题分解成更小的任务,然后为每一个更小的任务编写一个过程.最后程序员会编写一个主过程来启 ...
- java面向对象编程——第五章 对象的行为
5.1 方法调用栈 当一个方法被调用时,将导致控制流程跳转到被调用的方法.然后,控制流程执行方法中的语句.当然,被执行的方法可能会调用其它方法,导致控制流程跳转到其它方法.所有的方法调用都维护在一个称 ...
- java面向对象编程——第六章 数组
1.数组概述 数组是存储在一个连续的内存块中的元素集合.数组中的每个元素必须是相同的数据类型,并且通过索引进行区分.数组中的第一个元素的索引为0. 在java中,创建数组有两个步骤: 声明一个对数组的 ...
- java 面向对象编程-- 第15章 集合框架
1. 集合特点:元素类型不同.集合长度可变.空间不固定 2. java中对一些数据结构和算法进行了封装即集合.集合也是一种对象,用于存储.检索.操作和传输对象. 3. JCF(Java Coll ...
- java 面向对象编程-- 第十三章 反射、类加载与垃圾回收
1.狭义JavaBean规范 Javabean必须包含一个无参数的public构造方法,方便通过反射的方式产生对象. 属性必须都是私有的. Javabean必须包含符合命名规范的get和set方法,以 ...
- java面向对象编程—— 第三章 程序流程控制
3.1流程控制 三种基本技术可以改变程序的控制流程: ① 调用方法:调用方法将导致控制流程离开当前方法,转移到被调用的方法: ② 选择:java中有两种做出选择的机制:if/else语句和sw ...
- java 面向对象编程 第18章——网络编程
1. TCP/IP协议模型 应用层:应用程序: 传输层:将数据套接端口,提供端到端的通信服务: 网络互联层:负责数据包装.寻址和路由,同时还包含网间控制报文协议: 网络接口层:提供TCP/IP协议的 ...
- java 面向对象编程--第17章 I/O系统
1.I/O操作指的是输入和输出流的操作.相对内存而言,当我们从数据源中将数据读取到内存中,就是输入流,也叫读取流.当我们将内存中处理好的数据写入数据源,就是输出流,也叫写入流. 2.流按照内容分类:字 ...
随机推荐
- 一个封装较好的删除方法(Delete)
前台的引用 @Html.ActionLink(“删除字样”,“后台的删除方法”,new{绑定id},new{@style="样式"});方法,如何要独立使用的话,一般还要使用到相应 ...
- Spring读书笔记-----使用Spring容器(二)
一.使用ApplicationContext 前面介绍了,我们一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,它增强了BeanFa ...
- Linux_服务
1.服务启动顺序 http://bbs.chinaunix.net/thread-1970916-1-1.html http://bbs.csdn.net/topics/240060477 2.Lin ...
- js图片跑马灯效果
<style. type="text/css">body{margin:0px auto; padding:0px;}ul,li{margin:0px; padding ...
- POJ 3260 多重背包+完全背包
前几天刚回到家却发现家里没网线 && 路由器都被带走了,无奈之下只好铤而走险尝试蹭隔壁家的WiFi,不试不知道,一试吓一跳,用个手机软件简简单单就连上了,然后在浏览器输入192.168 ...
- 清除数据库中大于10W行的垃圾历史数据
-- =============================================-- Author: <Author,Name,龙鸿轩>-- Create date: &l ...
- Lua a and b or c
lua中nil和false为条件不成立,其余都为条件成立. a and b : a条件不成立,则返回a,否则,返回b a or c : a条件成立,则返回a,否则,返回b 常用x = x or v ...
- 在Fedora 20下使用TexturePacker
TexturePacker应该是最流行的图片合并工具吧,它把多个小图组合成一个大图,以减少网络请求次数,还有利于内存的充分利用.在游戏开发和网页开发时经常会用到它,CanTK(https://gith ...
- Spring AOP propagation七种属性值
<!-- 配置事务通知 --> <tx:advice id="advice" transaction-manager="transactionManag ...
- robotframework笔记8
文件变量 包含变量类型 Python 的 '.py' 扩展文件只不过是变量文件. # -*- Coding: utf-8 -*- var01 = "Hello " var02 = ...