• 组成部分:

    1. 文档声明

    1. 格式:

    2. 属性列表:

    * version:版本号,必须的属性

    * encoding:编码方式。告知解析引擎当前文档使用的字符集,默认值:ISO-8859-1

    * standalone:是否独立

    * 取值:

    * yes:不依赖其他文件

    * no:依赖其他文件

    2. 指令(了解):结合css的

    *

    3. 标签:标签名称自定义的

    * 规则:

    * 名称可以包含字母、数字以及其他的字符

    * 名称不能以数字或者标点符号开始

    * 名称不能以字母 xml(或者 XML、Xml 等等)开始

    * 名称不能包含空格

    1. 4. 属性:
    2. id属性值唯一
    3. 5. 文本:
    4. * CDATA区:在该区域中的数据会被原样展示
    5. * 格式: <![CDATA[ 数据 ]]>
    • 约束:规定xml文档的书写规则

      • 作为框架的使用者(程序员):

        1. 能够在xml中引入约束文档
        2. 能够简单的读懂约束文档
      • 分类:

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

    * 引入dtd文档到xml文档中

    * 内部dtd:将约束规则定义在xml文档中

    * 外部dtd:将约束的规则定义在外部的dtd文件中

    * 本地:

    * 网络:

  • 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"

    1. <students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    2. xmlns="http://www.itcast.cn/xml"
    3. xsi:schemaLocation="http://www.itcast.cn/xml student.xsd">
  1. 解析:操作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方式的。

XML02的更多相关文章

  1. 08-Xml & Tomcat

    Xml & Tomcat Xml >eXtendsible   markup  language     可扩展的标记语言 XML  有什么用? 1. 可以用来保存数据 2. 可以用来做 ...

  2. Xml & Tomcat

    文档声明: 简单声明, version : 解析这个xml的时候,使用什么版本的解析器解析 <?xml version="1.0" ?> encoding : 解析xm ...

  3. Java就业班day09_xml&tomcat

    Xml & Tomcat Xml eXtendsible markup language 可扩展的标记语言 XML 有什么用? 可以用来保存数据 可以用来做配置文件 数据传输载体 定义xml ...

  4. 中阶 d05 tomcat 安装 eclipse上配置tomcat

    eclipse使用参考 https://www.bilibili.com/video/av49438855/?p=24 1. 直接解压 ,然后找到bin/startup.bat 2. 可以安装 启动之 ...

随机推荐

  1. layui的图片上传使用

    先上效果图. 在用之前呢,你得先更新最新版的layui版本.经验之谈_(:_」∠)_ 今天在用的时候,实在是碰到太多的坑,本来是拒绝更新到最新版来着. 首先是layui.js和layui.all.js ...

  2. 1、ArrayList源码解析

    目录 1 概述 2 底层数据结构 3 构造函数 4 自动扩容 5 set() get() remove() 6 Fail-Fast机制 1 概述 ArrayList实现了List接口,是 顺序容器,允 ...

  3. NOI2011真题:兔兔与蛋蛋游戏

    NOI2011真题:兔兔与蛋蛋游戏 题目描述 这些天,兔兔和蛋蛋喜欢上了一种新的棋类游戏. 这个游戏是在一个 n行 m 列的棋盘上进行的.游戏开始之前,棋盘上有一个格子是空的,其它的格子中都放置了一枚 ...

  4. 群晖NAS搭建外网可访问的calibre

    一.在群晖docker上安装calibre-web 1. 下载相关的镜像文件 打开Docker后点击左侧注册表,在上方搜索栏搜索calibre 然后我们选择使用 technosoft2000/cali ...

  5. React综合使用联系

    index.js import React from 'react' import ReactDOM from 'react-dom' import CartSimple from './CartSi ...

  6. 【每日一题】【归并排序/堆排序&虚拟头结点】148. 排序链表-211220/220217【出栈时不断容易产生环状链表!】

    给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 . 进阶: 你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗? 方法1:归并排序+使用辅助函数 ...

  7. LeetCode HOT 100:组合总和

    题目:39. 组合总和 题目描述: 给你一个没有重复元素的数组,和一个target目标值,返回数组中可以使数字和为目标数target的所有不同组合.什么叫组合?组合就是数组中任意数字组成的集合,不需要 ...

  8. 90%的Java开发人员都会犯的5个错误

    前言 作为一名java开发程序员,不知道大家有没有遇到过一些匪夷所思的bug.这些错误通常需要您几个小时才能解决.当你找到它们的时候,你可能会默默地骂自己是个傻瓜.是的,这些可笑的bug基本上都是你忽 ...

  9. 聊一聊 SQLSERVER 的行不能跨页

    一:背景 1. 讲故事 相信有很多朋友在学习 SQLSERVER 的时候都听说过这句话,但大多都是记忆为主,最近在研究 SQLSERVER,所以我们从 底层存储 的角度来深入理解下. 二:理解数据页 ...

  10. 从开发属于你自己的第一个 Python 库,做一名真正的程序员「双语版」

    你好,我是悦创.之前我在 CSDN 编写了一篇开发 Python 库的教程,有人加我提问到的一些问题,我来更新一下这篇文章:https://blog.csdn.net/qq_33254766/arti ...