XML
  可扩展的标记语言(!!!可扩展)
  作用
    1.存放数据
    2.配置文件
  语法
    文档声明
      <?xml version="1.0" encoding="UTF-8"?>
    1.文档声明必须为<?xml开头,以?>结束;
    2.文档声明必须从文档的0行0列位置开始;
    3.文档声明只有2个属性;
      version 版本
      encoding 编码
    元素
      <bean></bean>
    1.必须开始结束
    2.标签由开始标签,元素体,结束标签组成<hello>大家好</hello>
    3.元素体 可以是文本 也可以是标签<b><a>你好</b></a>
    4.空元素 <c/>
    5.元素命名 区分大小写 不用特殊符号 不要xml开头
    6.必须要有根元素
    属性
      <bean id="" className="">
      1.出现在开始标签
      2.属性名="属性值"
      3.一个元素多个属性不可相同
      4.属性名无特殊符号 字母开头
    注释
      <!-- -->
    转义字符
      <  &lt;
      >  &gt;
      "   &quot;
      '   &apos;
      &     &amp;
    CDATA
      <![CDATA[ 纯文本 ]]>

    DTD
      引用DTD
      本地DTD
        <!DOCTYPE beans SYSTEM "bean.dtd">
      公共DTD
        <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
          "http://www.springframework.org/dtd/spring-beans-2.0.dtd">

    元素声明
      ? 0-1次
      * 任意次
      + 至少一次
      () 分组
      | 或
      , 顺序
    属性声明
    属性的语法:(attribute)
    <!ATTLIST 元素名
              属性名 属性类型 约束
              属性名 属性类型 约束
    >
    元素名:属性必须是给元素添加,所以必须先确定元素名
    属性名:自定义
    属性类型: ID、CDATA、枚举
    ID:ID类型的属性用来标识元素的唯一性
    CDATA:文本类型
    约束:
      #REQUIRED 说明属性是必须的:required
      #IMPLIED 说明属性是可选的:implied

Schema
  引用Schema
    <beans xmlns="http://www.itcast.cn/bean" (默认命名空间来自xsd自定义的地址)
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" (Schema约束的命名空间来自官方文档 地址-instance)
        xsi:schemaLocation="http://www.itcast.cn/bean bean-schema.xsd"> (xsi:schemaLocation="" Schema文档)
    </beans>
    Schema的目标名称空间用属性targetNamespace在根元素中定义
    elementFormDefault="qualified" 目标名称空间包含非全局的元素定义

xml解析
  DOM解析原理
    将xml加载进内存 形成DOM树 并得到一个document对象
  dom4j解析包
    常用API如下:
      1.SaxReader对象
        Document read(File file) 加载执行xml文档
      2.Document对象
        Element getRootElement() 获得根元素
      3.Element对象
        elements(...) 获取指定名称的所有子元素,可以不指定
        element(...) 获取指定名称的第一个元素,可以不指定
        getName() 获取当前元素的元素名
        attributeValue(...) 获取指定属性名的属性值  attribute(int i)获得第i个属性的值
        elementText(...) 获取指定名称子元素的文本值
        getText() 获取当前元素的文本内容

DTD约束

<!-- 注意
  A:一定要注意空格的地方,一定要有,有且只有一个英文空格
  B:DTD约束中,文档声明可有可无
  C:注意元素的括号
    (初中*,高中,大学) 按顺序出现,可以在里面确定出现的次数
    (初中|高中|大学)* 如果不加*号括号中的内容就只能出现一个且出现一次,随机出现
-->

xml初步,DTD和Schema约束的更多相关文章

  1. Spring学习----- Spring配置文件xml文档的schema约束

    1.配置文件示例. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="htt ...

  2. 关于Spring配置文件xml文档的schema约束

    最开始使用spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例. <?xml version=&q ...

  3. Spring中xml文档的schema约束

    最开始使用Spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意.最近想着寻根问底的探究一下.以下是本文主要内容: 1.配置文件示例.   <?xml version= ...

  4. XML DTD跟SCHEMA约束 语法了解

    dtd语法 元素: <!Element 元素名称 数据类型|包含内容> 数据类型: #PCDATA:普通文本 使用的时候一般用()引起来 包含内容: 该元素下可以出现哪些元素, 用()引起 ...

  5. DTD与Schema约束

    1.DTD:(Document Type Definition)是一套为了进行程序间的数据交换而建立的关于标记符的语法 规则.它是标准通用标记语言.2.XML Schema 是基于XML的DTD替代者 ...

  6. 在myeclipse等IDE中添加本地的dtd与schema约束文件

      *针对没有网络无法正确引入dtd而使用不了提示的问题 (配置完后重启IDE)   window->perferences- > 搜索xml c 找到xml catalog 右边点击 a ...

  7. XML的Schema约束

    XSD文档至少要包含:schema根元素和XML模式命名空间的定义.元素定义.需要注意的是XSD中必须定义一个且只能定义一个schema根元素,根元素中包括模式的约束,XML模式命名空间的定义,其他命 ...

  8. xml语法、DTD约束xml、Schema约束xml、DOM解析xml

    今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...

  9. Schema约束

    Schema约束(*xml中如何引入schema约束)(看懂Schema:能根据Schema写出XML文档来:)1.Schema约束文档本身就是一个XML文档.2.Schema对名称空间支持很好3.S ...

随机推荐

  1. xlwings结合dataframe数据的写入

    一.代码 import xlwings as xw import pandas as pd xl_path=r'***' df_path=r'***' df=pd.read_excel(df_path ...

  2. Codeforces451A-Game With Sticks-思维

    After winning gold and silver in IOI 2014, Akshat and Malvika want to have some fun. Now they are pl ...

  3. 【Java多线程系列六】Map实现类

    Map的一些实现类有及其特性 类 线程安全 特性 Hashtable 是 Key不能为null HashMap 否 读写效率最高,但在Java6多线程环境下使用不当可能陷入死循环,进而导致CPU使用率 ...

  4. hql 跟 sql 区别

    hql 跟 sql 区别  1.hql与sql的区别 sql 面向数据库表查询 hql 面向对象查询 hql : from 后面跟的 类名+类对象 where 后 用对象的属性做条件 sql: fro ...

  5. springboot上传图片大小限制

    背景:springboot项目上传图片超过1M报错,经了解,springboot默认上传文件1M 需求:更改默认配置,控制上传文件大小 方法:①更改配置文件(经试验不可行,不知道为什么):②更改启动B ...

  6. 6.1_springboot2.x分布式-整合SpringCloud

    1.SpringCloud简介 ​ Spring Cloud是一个分布式的整体解决方案.Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性t ...

  7. 自动化监控系统(二)连接数据库,创建app,添加model,同步数据库

    数据库我使用:mysql5.7 程序连接数据库的模块:pymysql 一.创建数据库: dbname:automatedmonitor 二.使用pip安装pymysql,这里我直接在pycharm上安 ...

  8. Android studio的ERROR: Unable to resolve dependency for 错误

    同事拷贝一份工程给我,在我这里用AS编译的时候出现这个错误.按照网上很多的方法都不行,后来终于可以. 在AS中打开FILE->Setting->gradle->,在右边service ...

  9. .Net平台调用の初识

    前言 工作过程中难免遇到混合编程,现在我们要谈的是C#和c++语言的编程.C#要调用C++的库目前可选主要有两种方式:Com技术和平台调用(P/Invoke).现在我们要谈的是P/Invoke技术. ...

  10. 2018-10-31-WPF-在触摸线程等待主线程窗口关闭会让主线程和触摸线程相互等待

    title author date CreateTime categories WPF 在触摸线程等待主线程窗口关闭会让主线程和触摸线程相互等待 lindexi 2018-10-31 9:30:9 + ...