zoukankan      html  css  js  c++  java
  • XML的学习

    1.1 XML简介
    1、XML(eXtensible Markup Language,可扩展标记语言),可以自定义标签。
    2、基于文本格式,所以XML可以跨平台、跨语言
    3、标签没有预定义,需要自定义
    4、XML用来保存和传输数据,不是用来显示数据的。(HTML用来显示数据)
    5、XML是元语言(可以通过此语言创造其他语言的语言成为元语言)


    1.2 XML文档结构
    1、第一行是XML声明,包括版本和字符编码
    <?xml version="1.0" encoding="utf-8" ?>
    2、XML文档是一个树型结构,它总是从“树根”开始,然后扩展到树叶。
    3、XML文档必须要包含根元素。


    1.3 XML节点的分类
    <stu id="001"> 小明 </stu>

    1、stu 为元素节点
    2、小明 为值节点
    3、 id 为属性节点
    

    1.4 数据的分类
    1、PCDATA:parse character data(可解析字符数据)由解析器解析
    2、CDATA:character data,不会由解析器解析
    3、元素后一般是PCDATA,属性后一般是CDATA


    1.5 DTD

    1、DTD:document type definition(文档类型定义)
    2、DTD用来验证XML文档是否有效
    3、DTD可以是一个独立的文件(外部DTD),也可以是嵌套在XML文档中(内部DTD)
    

    1.5.1 语法:

    <!ELEMENT 元素 (子元素) >
    <!ELEMENT 元素 (#PCDATA)>
    <!ELEMENT 元素 EMPTY>    空标记    
    <!ELEMENT 元素 ANY >
    

    1.5.2 引用外部DTD

    引用外部DTD有两个关键字
    
    1、SYSTEM:引用自定义的DTD文件
    <!DOCTYPE 根元素 SYSTEM “文件名”>
    2、PUBLIC:引用互联网的DTD文件
    <!DOCTYPE HTML PUBLIC "DTD名称" "dtd的域名地址">
    
    
    <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE movies [
        <!ELEMENT movies (movie+)>
        <!ELEMENT movie (title,actor+,rating)>
        <!ELEMENT title (#PCDATA)>
        <!ELEMENT actor (#PCDATA)>
        <!ELEMENT rating (#PCDATA)>
    ]>
    
    
    
    <?xml version="1.0" encoding="UTF-8"?>
    
    <movies>
    	<movie>
    		<title>西游记</title>
    		<actor>六小龄童</actor>
    	<actor>马德华</actor>
    	<rating>大家一起看</rating>
    </movie>
    <movie>
    	<title>水浒传</title>
    	<actor>宋江</actor>
    	<rating>大人陪同</rating>
    </movie>
    </movies>
    

    1.5.3 引用内部DTD

       <?xml version="1.0" encoding="UTF-8"?>
       <!DOCTYPE movies [
        <!ELEMENT movies (movie+)>
        <!ELEMENT movie (title,actor+,rating)>
        <!ELEMENT title (#PCDATA)>
        <!ELEMENT actor (#PCDATA)>
        <!ELEMENT rating (#PCDATA)>
        ]>
    
    <movies>
    <movie>
    	<title>西游记</title>
    	<actor>六小龄童</actor>
    	<actor>马德华</actor>
    	<rating>大家一起看</rating>
    </movie>
    <movie>
    	<title>水浒传</title>
    	<actor>宋江</actor>
    	<rating>大人陪同</rating>
    </movie>
    </movies>
    

    1.6 实体

    实体又分为:一般实体,参数实体。
    
    一般实体中分为:预定义实体,自定义实体。
    

    1.6.1 预定义实体

    实体名称 字符
    lt ---------- <
    gt --------- >
    amp ------ &
    quot ------- “
    apos ------- ‘


    1.6.2 自定义实体

    语法:<!ENTITY 实体名 实体值 >
    
    调用实体:&实体名;
    

    1.6.3 参数实体

    参数实体和一般实体声明的时候很相似,区别是参数实体前面有”%”
    
    语法:<!ENTITY % 实体名 ‘实体默认值’>
    
    例子:
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!ENTITY % p 'test'>
    <!ELEMENT roster ((%p;)+)>
    <!ELEMENT %p; (name,sex,birthday,score?,skill+)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT sex (#PCDATA)>
    <!ELEMENT birthday (#PCDATA)>
    <!ELEMENT score (#PCDATA)>
    <!ELEMENT skill (#PCDATA)>
    <!ATTLIST %p; id ID #REQUIRED>
    
    
    XML:
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE roster SYSTEM "10-demo.dtd"[
    <!ENTITY % p "teacher">
    ]>
    <roster>
    <teacher id="t001">
    	<name></name>
    	<sex></sex>
    	<birthday></birthday>
    	<skill></skill>
    	<skill></skill>
    </teacher>
    </roster>
  • 相关阅读:
    Redux React-redux 理解
    React ---- 浅谈ReactJs
    javascript --- 鼠标事件
    javaScript --- localStorage 本地存储
    javascript -- 对象(深拷贝、浅拷贝)
    javascript --- 数组输出数组中最大值最小值差值
    Css中未知 div 宽高度,水平垂直居中方法
    Windows下使用NCL(Cygwin模拟Linux环境)
    Qt加载网页(加载浏览器插件)和制作托盘后台运行(南信大财务报账看号)
    OpenGL超级宝典第5版&&GLSL法线变换
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/11685262.html
Copyright © 2011-2022 走看看