XML 2020-6-28

Posted 1877chl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML 2020-6-28相关的知识,希望对你有一定的参考价值。

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‘]");

以上是关于XML 2020-6-28的主要内容,如果未能解决你的问题,请参考以下文章

2020-6-28-Python3-变量的命名规则

2020-6-28 卡片制作

Mysql语法及部分实例 2020-6-28

2020/6/28 JS流程控制语句和循环语句

(2020.6.28)可解释机器学习初探

多喝热水BetaScrum meeting 3