zoukankan      html  css  js  c++  java
  • xml初步,DTD和Schema约束

    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:注意元素的括号
        (初中*,高中,大学) 按顺序出现,可以在里面确定出现的次数
        (初中|高中|大学)* 如果不加*号括号中的内容就只能出现一个且出现一次,随机出现
    -->


  • 相关阅读:
    Serialize&Deserialize
    Async&Await
    Generic
    Enum
    Array
    String
    Nullable
    Collection
    Class&Struct
    Interface
  • 原文地址:https://www.cnblogs.com/chonglchong/p/6687040.html
Copyright © 2011-2022 走看看