XML

1. 概念:Extensible Markup Language 可扩展标记语言

可扩展:标签都是自定义的。 <user>  <student>

功能: 存储数据
      
1. 配置文件
2. 在网络中传输

xml与html的区别

html语法松散,可以随意使用,怎么用都对

和properties竞争,存数据更加方便


        1. xml标签都是自定义的,html标签是预定义。
        2. xml的语法严格,html语法松散
        3. xml是存储数据的,html是展示数据

* w3c:万维网联盟

2. 语法:

基本语法:

1. xml文档的后缀名 .xml

2. xml第一行必须定义为文档声明

3. xml文档中有且仅有一个根标签

4. 属性值必须使用引号(单双都可)引起来

5. 标签必须正确关闭

6. xml标签名称区分大小写

快速入门:

        <?xml version='1.0' ?>
        <users>
            <user id='1'>
                <name>zhangsan</name>
                <age>23</age>
                <gender>male</gender>
                <br/>
            </user>
            
            <user id='2'>
                <name>lisi</name>
                <age>24</age>
                <gender>female</gender>
            </user>
        </users>


语法严格,第一行不能有空格

组成部分:

1. 文档声明
            1. 格式:<?xml 属性列表 ?>
            2. 属性列表:
                 version:版本号,必须的属性
                 encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1
                 standalone:是否独立
                     取值:
                        yes:不依赖其他文件
                        no:依赖其他文件
        2. 指令(了解):结合css的
            <?xml-stylesheet type="text/css" href="a.css" ?>
        3. 标签:标签名称自定义的
            * 规则:
                * 名称可以包含字母、数字以及其他的字符 
                * 名称不能以数字或者标点符号开始 
                * 名称不能以字母 xml(或者 XML、Xml 等等)开始 
                * 名称不能包含空格

4. 属性:
            id属性值唯一
        5. 文本:
            * CDATA区:在该区域中的数据会被原样展示
                * 格式:  <! [CDATA[   数据   ] ]>

约束:规定xml文档的书写规则
        * 作为框架的使用者(程序员):
            1. 能够在xml中引入约束文档
            2. 能够简单的读懂约束文档

        
        分类:
            1. DTD:一种简单的约束技术
            2. Schema:一种复杂的约束技术

DTD:
            引入dtd文档到xml文档中
                内部dtd:将约束规则定义在xml文档中
                外部dtd:将约束的规则定义在外部的dtd文件中
                    本地:<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
                    网络:<!DOCTYPE 根标签名 PUBLIC "dtd文件名字" "dtd文件的位置URL">

Schema:


            * 引入:
                1.填写xml文档的根元素
                2.引入xsi前缀.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                3.引入xsd文件命名空间.  xsi:schemaLocation="http://www.itcast.cn/xml  student.xsd"
                4.为每一个xsd约束声明一个前缀,作为标识  xmlns="http://www.itcast.cn/xml" 

<students   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://www.itcast.cn/xml"
                xsi:schemaLocation="http://www.itcast.cn/xml  student.xsd">

解析

操作xml文档,将文档中的数据读取到内存中
    * 操作xml文档
        1. 解析(读取):将文档中的数据读取到内存中
        2. 写入:将内存中的数据保存到xml文档中。持久化的存储(用的不多)

* 解析xml的方式:
        1. DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树
            * 优点:操作方便,可以对文档进行CRUD的所有操作
            * 缺点:占内存
        2. SAX:逐行读取,基于事件驱动的。
            * 优点:不占内存。
            * 缺点:只能读取,不能增删改

* xml常见的解析器:
        1. JAXP:sun公司提供的解析器,支持dom和sax两种思想
        2. DOM4J:一款非常优秀的解析器
        3. Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
        4. PULL:Android操作系统内置的解析器,sax方式的。

Jsoup

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

JavaWeb 补充(XML)的更多相关文章

  1. JavaWeb之XML详解

    XML语言 什么是XML? XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML.它被设计的宗旨是传输数据,而非显示数据. XML标签没有 ...

  2. JavaWeb基础: XML基础知识

    简介 XML:可扩展标记语言,W3C指定的用于描述结构化数据的语言,XML在实际开发中,经常用作软件的配置文件,以描述程序模块之间的依赖和组合关系. XML约束:XML常常用于软件配置管理,对于软件框 ...

  3. JavaWeb 4 XML

    4 XML 1 XML入门        1.1 引入        HTML: 负责网页的结构            CSS: 负责网页的样式(美观)        Javascript: 负责在浏 ...

  4. javaweb web.xml文件详解

    web.xml文件详解 前言:一般的web工程中都会用到web.xml,web.xml主要用来配置,可以方便的开发web工程.web.xml主要用来配置Filter.Listener.Servlet等 ...

  5. javaweb web.xml版本

    web.xml版本的xsd分为如下几个版本 web-app_2_2.xsd web-app_2_3.xsd web-app_2_4.xsd web-app_2_5.xsd .... web-app_3 ...

  6. JavaWeb基础—XML学习小结

    一.概述 是什么? 指可扩展标记语言 能干什么? 传输和存储数据 怎么干? 需要自行定义标签. XML 独立于硬件.软件以及应用程序 通常.建立完xml文件后首要的任务是:引入约束文件! 二.XML简 ...

  7. Spring框架 全注解annotation不使用配置文件(SpringConfiguration.java类代替) 补充 xml配置文件没有提示解决

    全注解不使用配置文件 首先还是倒包 在原有的jar包: 需Spring压缩包中的四个核心JAR包 beans .context.core 和expression 下载地址: https://pan.b ...

  8. Javaweb之xml

        1 XML概述     1.1 XML是什么? eXtensible Markup Language可扩展标记语言          1.2 XML作用         主要是用于描述数据,而 ...

  9. javaWeb web.xml 配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

随机推荐

  1. 关于PCA主成分分析的一点理解

    PCA 即主成分分析技术,旨在利用降维的思想,把多指标转化为少数几个综合指标. 假设目前我们的数据特征为3,即数据维度为三,现在我们想将数据降维为二维,一维: 我们之前的数据其实就是三维空间中的一个个 ...

  2. Python基础之:数字字符串和列表

    目录 简介 数字 字符串 字符串对象str 列表 简介 Python的主要应用是进行科学计算,科学计算的基础就是数字,字符串和列表.本文将会详细的给大家介绍一下这三个数据类型的使用情况. 数字 数字是 ...

  3. tep环境变量、fixtures、用例三者之间的关系

    tep是一款测试工具,在pytest测试框架基础上集成了第三方包,提供项目脚手架,帮助以写Python代码方式,快速实现自动化项目落地. 在tep项目中,自动化测试用例都是放到tests目录下的,每个 ...

  4. Java基础语法:abstract修饰符

    一.简介 描述: 'abstract'修饰符可以用来修饰方法,也可以修饰类. 如果修饰方法,那么该方法就是抽象方法:如果修饰类,那么该类就是抽象类. 抽象类和抽象方法起到一个框架作用,方便后期扩展的重 ...

  5. Java 8 中Sort排序原理:

    总的来说,java中Arrays.sort使用了两种排序方法,快速排序和优化的合并排序.Collections.sort方法底层就是调用的Arrays.sort方法. 快速排序主要是对那些基本类型数据 ...

  6. 基于QT的全自动超声波焊接机上位机追溯系统(已经在设备上应用)

    应用说明: 本上位机程序是我在做锂电池产线项目的时候开发的,用于采集设备数据以及实现设备自动控制,下位机采用基恩士PLC,超声波机采用上海一家的超声波焊接机,实现电芯极耳的自动焊接,上位在设备焊接过程 ...

  7. vue3中使用axios如何去请求数据

    在vue2中一般放在created中,但是在vue3中取消了created生命周期,请求方式有两种 直接在setup中去获取数据 setup(props) { const data = reactiv ...

  8. 防数据泄露_MySQL库和数据安全

    目录 攻击场景 外部入侵 内部盗取 防御体系建设 参考 在企业安全建设中有一个方向是防数据泄露,其中一块工作就是保障数据库安全,毕竟这里是数据的源头.当然数据库也分不同的种类,不同类型的数据库的防护手 ...

  9. TorchVision Faster R-CNN 微调,实战 Kaggle 小麦检测

    本文将利用 TorchVision Faster R-CNN 预训练模型,于 Kaggle: 全球小麦检测 上实践迁移学习中的一种常用技术:微调(fine tuning). 本文相关的 Kaggle ...

  10. Codeforces (ccpc-wannafly camp day2) L. Por Costel and the Semipalindromes

    题目链接:http://codeforces.com/gym/100923/problem/L 分析:题目要求序列首尾相同,在此基础上的字典序第k个:因为只存在a,b所以我们把它等效成0和1的话,字典 ...