黑马程序员技术交流社区
标题:
【石家庄校区】JavaWeb阶段Day12
[打印本页]
作者:
lovemiya
时间:
2018-5-21 16:15
标题:
【石家庄校区】JavaWeb阶段Day12
本帖最后由 lovemiya 于 2018-5-21 16:27 编辑
XML
概述
可扩展标记语言:允许用户自定义标签
作用
传输和存取数据
软件的配置文件(更常用)
语法
基本语法
XML必须有关闭标签
区分大小写
属性需要有引号
标签必须正确嵌套
文档声明
通常出现在XML第一行第一列的位置
<?xml version="1.0" encoding="UTF-8"?>
version: 必须的,使用"1.0"
encoding: 字符集.是使用浏览器打开的时候按此用的默认的字符集的编码
standalone: 描述XML文档是否需要依赖其他文件.
注释
<!-- XML的注释 -->
元素
命名规范:
可以包含字母,数字一级其他的字符
不能以数字或者标点符号开始
不能以字符"xml"开始
不能包含空格,不能有冒号
属性
属性的命名规范和元素一致
特殊字符和CDATA区
<![CDATA[ 内容]]>
XML的解析方式:
DOM:Document Object Model:一次性将文档加载到内存,形成树形结构进行解析
缺点:如果文档特别大,容易导致内存的溢出
优点:对XML进行增删改的操作
SAX:Simple API for XML:事件驱动的方式,一行一行进行解析的.
缺点:不能对文档进行增删改
优点:如果文档特别大,不会导致内存溢出
针对这两种解析方式,不同的公司提供了不同的API的实现
JAXP
JDOM
DOM4J
PULL
// 解析XML:
// 创建解析器
SAXReader reader = new SAXReader();
// 解析XML文档:
Document document = reader.read("conf/server.xml");
Element element = (Element)document.selectSingleNode("//Connector['@port']");
String port = element.attributeValue("port");
XML的约束
概述
用来约束XML的文档中可以出现那些标签,不能出现哪些标签,标签中是否有顺序,出现的次数,规范XML的写法.
种类及区别
DTD和Schema:
区别:
DTD语法是自成一体的,Schema语法就是XML语法.
Schema的语法就是XML的语法所以更容易呗解析器解析
Schema支持名称空间
Schema有比DTD更加强大的语义和语法的约束
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2