1.概念:Extensible Markup Language 可扩展标记语言
*可扩展:标签都是自定义的。
2.功能:
*存储数据:
1.配置文件
2.在网络中传输
3.xml与html的区别:
1.xml标签都是自定义的,html标签预定义
2.xml语言严格,html语法松散
3.xml是存储数据的,html是展示数据的
properties:
name=zhangsan
age=23
xml:
<user id='1'>
<name>zhangsan</name>
</user>
4.w3c:万维网联盟:
5.语法:
*基本语法:
1.xml的文档后缀名 .xml
2.文档第一行必须要文档声明
3.xml文档中有且仅有一个根标签
4.属性值必须使用引号引起来
5.标签必须正确关闭
6.xml标签名称区分大小写
*组成部分:
1.文档声明
1.格式<?xml 属性列表?>
*属性列表
1.version:版本号(必须属性)
2.encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:Iso-8859-1
3.standalone:是否独立
yes:不依赖其他文件
no:依赖其他文件
2.指令(了解):结合css
*<?xml-stylesheet type="text/css" href="a.css"?>
3.标签:标签名称自定义的
规则:
1.名称可以包含字母,数字以及其他的字符
2.名称不能以数字或者标点符号开始
3.名称不能以字母xml(或XML等等)开始
4.名称不能包含空格
4.属性:
id属性值唯一
5.文本:
CDATA区:在该区域中的数据会被原样展示
格式:<![CDATA[ 数据]]>
6.约束:规定xml文档的书写规则
*作为框架的使用者:
1.能够在xml中引用约束文档
2.能够简单读懂约束文档
*分类:
1.dtd:一种简单的约束技术
2.schema:一种复杂的约束技术
*dtd:
*引入dtd文档到xml文档中
*内部dtd:将约束规则定义在xml文档中
*外部dtd:将约束的规则定义在外部的dtd文件中
*本地:<!DOCTYPE 根标签名称 SYSTEM "dtd文件的位置">
*网络:<DOCTYPE 根标签名称 PUBLIC "dtd文件名字" "dtd文件的位置URL">
*schema:
7.解析:操作xml文档,将文档中数据读取到内存中
*操作xml文档
1.解析:将文档中的数据读取到内存中
2.写入:将内存中的数据保存到xml文档中,持久化存储
*解析xml的方式:
1.DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树
*优点:操作方便,可以对文档进行CURD的所有操作
*缺点:消耗内存
2.SAX:逐行读取,基于事件驱动
*优点:不占内存
*缺点:只能读取,不能增删改
*xml常见的解析器:
1.jaxp:sun公司提供的解析器,支持dom和sax两种思想
2.dom4j:一款非常优秀的解析器
3.jsoup:一款解析html的解析器,也可以解析xml
4.pull:安卓系统内置解析器,sax方式的
*jsoup:
*快速入门:
*步骤:
1.导入jar包
2.获取document对象
3.获取对应的标签element对象
4.获取数据
标签:xml,标签,dtd,html,文档,内存 From: https://www.cnblogs.com/lin513/p/17027654.html