1.XML是一种可扩展标记语言,标签自定义;功能是存储数据-->做配置文件,在网络中传输;
2.和HTML的区别:
one:xml标签自定义,HTML标签是预定义
two:xml语法严格,HTML语法松散
three:xml是存储数据的,HTML是展示效果
3.基本语法:
one:xml文档的后缀名.xml
two:xml第一行必须定义为文档声明
three:xml属性值必须使用引号(单双都行)
four:要有结束标记
five:xml区分大小写
注意:文档声明里面要双引号;
4.组成部分:文档声明 指令 标签 属性 文本
文档声明的格式:<?xml 属性列表 ?> 属性列表:version:版本号,必须的属性,encoding:编码方式,告诉解析引擎当前文档使用的字符集;
文本中的CDATA区:该区域中的数据会被原样展示
格式:<![CDATA[数据]]>
约束:规定xml文档的书写规则,作为框架的使用者(程序员)要能够在xml中引入约束文档,简单的读懂约束文档;
分类:1.DTD:一种简单的约束技术 2.Schema:一种复杂的约束技术
DTD;引入DTD文档到HTML文档中,
内部DTD;将约束规则定义在xml文档中
外部DTD:将约束规则定义在外部的DTD文件中
本地:<!DOCTYPE 根标签名 SYSTEM "DTD文件的位置">
网络:<!DOCTYPE 根标签名 PLBLIC "DTD文件名" "DTD文件的位置">
5.解析:操作xml文档,将文档中国的数据读取到内存中
1.操作(读取):将文档中的数据读取到内存中
2.写入:将内存中的数据保存到xml文档中
解析xml的方式:
1.DOM:将标记语言文档一次性加载进内存,在内存中形成一颗DOM树,缺点是占内存;适用于服务器端,不适用于内存小的设备,
2.sax:逐行读取,基于事件驱动,缺点是只能读取,读一行释放一条,适于移动端
6.xml常见的解析器:DOM4J: 一款非常优秀的解析器 2.JSOUP:是一款Java的xml、HTML解析器,可以直接解析某个URL地址,HTML文本内容, 3.pull,适于移动端
7.Document:文档对象,代表内存中的DOM树
获取element对象
getElementsById(String id):根据ID值获取唯一的element对象
getElementsByTag(String TagName);根据标签名称获取元素对象集合
getElementsByAttribute(String key):根据属性名称获取元素对象集合
getElementsByAttributeValue(String key,String value):根据对应的属性名和属性值获取元素对象集合
获取属性值
String attr(String key)根据属性名获取属性值;
获取文本内容
String text();获取文本内容
String html();获取标签体的所有内容
8.快捷查询:
1.selector:选择器 使用方法:Elements select(String cssQuery) 语法:参考selector类中定义语法
2.XPath:为xml路径语言,使用它需要额外导包,查询它的参考手册;
重要代码:
1.获取xml文档的路径:String path=jsoupTest03.class.getClassLoader().getResource("one.xml").getPath();
2.获取DOM树对象:document:Document document=Jsoup.parse(new File(path),"utf-8");
3.获取XPath对象:JXDocument jxDocument=new JXDocument(document);
4.通过XPath对象来获取指定结点:List<JXNode> li=jxDocument.selN("//students/student[@number=\'hh001\']");