XML
可拓展标记语言
可拓展:标签都是自定义的。
功能
存储数据 作配置文件,在网络中传输
与HTML的区别
w3c:万维网联盟
xml语法严谨
xml存储数据
快速入门
有且仅有一个根标签
顶行不能为空
文档的后缀名称必须是xml
标签必须正确关闭
区分大小写
第一行<?xml version = '1.0' ?>
组成部分
文档声明
<?xml 属性列表?>
属性列表:
version版本号 必须属性
encoding编码方式
standalone是否独立
指令:结合CSS
标签:自定义名称
名称不能包含空格、不能以数字标点开始
属性:
id属性值唯一
用单引号引起来
文本:
转义字符
约束
谁编写xml
用户软件使用者
谁解析xml
软件
分类:
DTD:简单的约束技术
schema约束:一种复杂的约束
引入DTD文档
内部DTD:将约束规则定义在文档中
外部DTD:将约束规则定义在外部的dtd文件中
本地:!DOCTYPE 根标签名 SYSTEM "dtd文件的位置"
网络:!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置"
解析xml
解析为DOM:一次性加载进内存 ,效率高,内存占用高
解析为SAX:按行加载进内存,基于内存驱动,内存占用低,只能读,不能写增删改
解析器
JAXP:sun公司提供的解析器,支持DOM 和 SAX
DOM4J:一款非常优秀的解析器
Jsoup:
PULL:SAX 安卓解析器
Jsoup解析器
步骤:
1.导入jar包
2.获取元素对象Document
3.获取相对应的标签 element
4.获取数据
String resource = XMLDemo1
.class
.getClassLoader()
.getResource("XMLDemo1.fxml").getPath();
Document parse = Jsoup.parse(new File(resource), "utf-8");
Element elementById = parse.getElementById("1");
System.out.println(elementById.childNodeSize());