Java基础(十)
一、XML概述
属性文件是用来描述程序配置,属性文件包含了一组名/值对。属性文件采用的是一种单一的平面层次结构,同时属性文件要求键是唯一的。
XML格式能够表达层次结构,并且重复的元素不会被曲解。
HTML和XML之间的区别:
1、与HTML不同,XML是大小写敏感的。
2、在HTML中,如果从上下文中可以分清哪里是段落或列表项的结尾,那么结束标签就可以省略,而在XML中结束标签绝对不能省略。
3、在XML中,只有单个标签而没有相对应的结束标签的元素必须以/结尾。
4、在XML中,属性值必须用引号括起来。在HTML中,引号是可有可无的。
5、在HTML中,属性名可以没有值。在XML中,所有属性必须都有属性值。
XML文档应当以一个文档头开始(文档头是可选的),文档头之后通常是文档类型定义(文档类型定义是确保文档正确的一个重要机制,但是它不是必需的),最后,XML文档的正文包含根元素,根元素包含其他元素。
元素可以有子元素,文本或两者皆有。XML元素可以包含属性(属性只应该用来修改值的解释)。
XML文档的其他标记:
1、字符引用的形式是&#十进制值;或&#x十六进制值。
2、实体引用的形式是&name。(<>&"&apos都有预定义的含义:小于、大于、&、引号、省略号)。
3、CDATA部分用<![CDATA[ 和 ]]>来限定其界限。它们是字符数据的一种特殊形式。你可以使用它们来囊括那些含有<、>、&之类字符的字符串,而不必将它们解释为标记。CDATA部分不能包含字符串]]>,使用这一特性时要特别小心,因为它常用来当作将遗留数据偷偷纳入XML文档的一个后门。
4、处理指令是那些专门在处理XML文档的应用程序中使用的指令,它们由<?和?>来限定其界限。每个XML都以一个处理指令开头。
5、注释用<!-和-->限定其界限。注释不应该含有字符串--。注释只能是给文档的读者提供的信息,其中绝不应该含有隐藏的命令,命令应该是用来处理指令来实现的。
二、解析XML文档
Java库提供了两种XML解析器:
1、像文档对象模型解析器这样的树形解析器,它们将读入的XML文档转换成树结构。
2、像XML简单API解析器这样的流机制解析器,它们在读入XML文档时生成相应的事件。
三、验证XML文档
如果要指定文档结构,可以提供一个文档类型定义(DTD)或一个XML Schema定义。DTD或Schema包含了用于解释文档应如何构成的规则,这些规则指定了每个元素的合法子元素和属性。
四、使用XPath来定位信息。
五、流机制解析器
Java类库提供的两种流机制解析器:
1、SAX解析器:使用的是事件回调。
2、StAX解析器:提供了遍历解析事件的迭代器。
六、XSL转换
XSL转换机制可以指定将XML文档转换为其他格式的规则。
Java基础(十)的更多相关文章
- Java基础十二--多态是成员的特点
Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- Java基础(十二)--clone()方法
Clone在Java中就是用来复制对象,通过分配一个和源对象相同大小的内存空间,然后创建一个新的对象,那么他和=的区别在哪? 通过=实现对象拷贝: @Data @NoArgsConstructor @ ...
- java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问
本文将详解 equals()与hashCode()方法 概述 java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) publi ...
- java基础(十五)----- Java 最全异常详解 ——Java高级开发必须懂的
本文将详解java中的异常和异常处理机制 异常简介 什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常. Java异常的分类和类结构图 1.Java中的所 ...
- java基础十[包、Jar存档文件和部署](阅读Head First Java记录)
将Java的class文件生成为可执行的Java应用程序.Java应用程序有三种:完全在本机执行的Jar(例如本机的GUI可执行程序):完全在服务器端远程执行的(例如浏览器来进行存取):介于两者之间的 ...
- 黑马程序员 Java基础<十八>---> 网路编程
--------------- ASP.Net+Android+IO开发S..Net培训.期待与您交流! --------------- 第一 概述 一.概述: 1.网络模型:OSI参考模型和TCP ...
- java基础(十八)----- java动态代理原理源码解析
关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 静态代理 1.静态代理 静态代理:由程序员创建或特定工 ...
- java基础(十)-----Java 序列化的高级认识
将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ...
- java基础(十四)-----详解匿名内部类——Java高级开发必须懂的
在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.匿名内部类使用的形参为何要为final. 使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: n ...
随机推荐
- day_02~day_09的Python语法基础
Python基础学习 day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> ...
- kudu_单master集群安装
1.配置JDK1.7/1.8,免密设置,ntp时间同步配置. 2. 将下载下来的文件放到/etc/yum.repos.d/ 目录下后,进行下一步 3.使用yum管理器安装 (集群搭建) sudo yu ...
- HashMap的源码浅析
一.HashMap 的数据结构 Java7 及之前主要是"数组+链表",到了 Java8 之后,就变成了"数组+链表+红黑树". 二.Java7 源码浅析: 在 ...
- 利用Jackson封装常用JsonUtil工具类
在日常的项目开发中,接口与接口之间.前后端之间的数据传输一般都是使用JSON格式,那必然会封装一些常用的Json数据转化的工具类,本文讲解下如何利用Jackson封装高复用性的Json转换工具类. 转 ...
- SpringBoot系列——状态机(附完整源码)
1. 简单介绍状态机 2. 状态机的本质 3. 状态机应用场景 1. 简单介绍状态机 状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作.完成特定 ...
- java——引入第三方jar包
第一步:项目->New->Folder:创建一个文件夹: 第二步:把要引入的jar包粘贴到新建的文件夹中: 第三步:选中引入的jar包->Build Path->Add to ...
- 织梦DEDECMS网站如何生成xml格式网站地图
这个很简单,按照我下边提供的方法进行操作就可以了,我一直在用 第一步,登陆DedeCMS后台:核心 - 频道模型- 自由列表管理,点击添加列表: 参数按照下边的填写: 自由列表标题:[XML地图] 列 ...
- 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...
- [ES6系列-06]展开操作符 Spread Operator 就像解压到这里
[原创]码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 在前面的文章中,介绍了...在获取剩余参数中的作用. ...
- [PHP插件教程]002.代码包PHP Beautifier的使用
This program reformat and beautify PHP source code files automatically. The program is Open Source a ...