本帖最后由 巴拉巴拉x 于 2018-5-21 10:19 编辑
XML
XML作为配置文件完成模拟Tomcat
- 什么是XML?
- 可扩展的标记语言
- 允许用户自定义标签
- XML任何语言都可以解析
- 作用
- XML的使用
XML的语法
- XML的文档声明
- 通常出现在XML文档的第一行第一列
- <?xml 属性名="属性值" 属性名="属性值" ?>
- 属性有三个
- version是必需的,一般是1.0,2.0不向下兼容,所以一般使用1.0
- encoding:字符集,是使用浏览器打开的时候采用的默认的字符集的编码.(可选)
- standalone:描述XML文档是否需要依赖其他的文件,(可选)值是yes或者no.
- XML的注释
- XML的元素
- 查W3Shool文档的XML
- 命名规则
- 元素就是标签
- 名称中不能包含 ":"
- XML的属性
- XML的特殊字符和CDATA区
- 特殊字符
- < ; 是 <
- > ; 是 >
- & ; 是 &
- &apos 是 '(单引号)
- 分号要挨着特殊字符结尾,中间不能有空格.
- CDATA区
- character Data的缩写
- 写在这个区域的都会被当做字符串,不会当做特殊字符
- <![CDATA[ 内容 ]]>
- 概念
- 从XML文档中获得想要的信息(通过代码完成)
- XML解析的方式
- DOM解析
- SAX解析
- DOM和SAX的区别
- DOM方式就是把这个文档以DOM树的形式加载到内存中然后进行解析
- 缺点:如果文档特别大,容易导致内存溢出
- 优点:可以对XML进行增删改的操作
- SAX方式:是以事件驱动的方式,逐行进行解析的.
- 缺点:不能对文档进行增删改的操作
- 优点:就算文档特别大不会导致内存的溢出
- 针对这两种解析方式,不同的公司提供了不同的API的实现
- JAXP:SUN公司提供的一套XML的解析的API
- JDOM:开源组织提供了一套解析XML的API叫jdom
- DOM4J:开源组织提供了一套解析XML的API叫dom4j
- pull:主要应用在Android手机的解析
- 使用DOM4J来解析
- 导入jar包
- 创建解析器
- SaxReader sr = new SaxReader();
- 解析文档获得代表整个文档的对象:document,包含element ,attribute,text这三个同城为node(节点).NOde就相当于java中的Object.
- Document dc = sr.read("文件路径");
- 先要获得根节点
- Element root = dc.getRootElement();
- 从根节点开始查找其他节点:element(),elements();
- Element el = root.element("元素名");根节点下的第一级元素中指定元素第一次出现的那个元素
- String s = el.getText(),元素对象中的文本
XPath
- dom4j 支持XPath的jar包
- dom4j的XPath支持的API:
- 常用的命令
XML的约束
- 用来约束XML的文档中可以出现哪些标签,不能出现哪些标签,标签中是否有顺序,出现的次数
- 用来规范XML的写法
- XML的约束的种类及其区别
- 查看w3shool
- 两种
- 区别
- DTD的语法是自成一体的,Schema的语法就是XML的语法
- Schema更容易被解析器所解析,且他支持名称空间而DTD不支持名称空间
- Schema有比DTD更加强大的语义和语法的约束
- DTD的语法
- Schema的语法
- xmlns:xml name space
- 简单标签:没有子元素,直接写文本的
- 复杂标签:里面包含子元素的
- 名称空间
|
|