zoukankan      html  css  js  c++  java
  • xml简介与使用

    Xml是什么?

    XML:可扩展标记语言

    1.与HTML相似,HTML注重页面·展示

    2.xml注重于数据的保存

    3.无需预编译

    4.符合w3c的标准

    可扩展:可以自定义

    标记:计算机所能认知的信息符号

    xml的组成部分:

    1.文档声明 <?xml version="1.0" encoding="UTF-8"?>

    2.元素 <p></p>

    3.属性 <p id="haha"></p>

    4.注释 解释说明 <!-- vfgfh-->

    5.特殊字符

     

    6.CDATA区域 

    xml解析器不会处理,而是当成字符串原样输出

    <![CDATA[xml内容]]>

    xml中的注意点:

    1. xml文件中只能有一个根节点

    2.节点要成对出现,有开始有闭合

    3.节点必须正确嵌套

    4.严格区分大小写

    dom,HTML 都是类似于一个倒挂的树,我们把倒挂的树称之为===》dom树

    DOM:(Doucument Object Model)文档对象模型

    DOM模型:

     

    解决创建maven慢的情况

    archetypeCatalog=internal

    Key 和value

    解析xml文件的方式:

    1. DOM:基于xml文档树结构的解析,把xml文件中内容都读取到内存中,比较占内存,消耗资源多。
    2. SAX:基于事件的解析,消耗资源小
    3. JDOM:针对于Java的特定的模型 满足2   8原则
    4. DOM4J:for(4)JDOM的一个分支,源码开放,性能优异,功能强大

    DTDDocument  Type Definition(文档类型定义)

    1. 规范编码

    1. 可以让浏览器正常的显示    

    <!ELEMENT  school (grade+)>  

    ELEMENT:元素,关键字

    School:元素名称

    Grade:子元素或者元素类型   CDATA   PCDATA  (Parse)解析数据,不包含子元素

    ():用来给元素分组

    + :该对象最少出现一次

    * 0到多次,可有可无,并且可以多次

    ?:出现或者不出现,出现的话只能出现一次

    ,  :元素出现的顺序

    | :两者必须出现一个

    DTD文档使用方式:

    2.DTD分为外部DTD和内部DTD两种:

     

    1)使用内部DTD格式:

     

    <!DOCTYPE 根元素名称 [

    <!ELEMENT 子元素名称 (#PCDATA) >

    ]>

     

    2)引用外部DTD格式:

    <?xml version="1.0" encoding="gb2312">

    <!DOCTYPE 根元素名称 SYSTEM “outDtd.dtd”>

    <根元素名称>

    ...

    </根元素名称>

     

    ---------------

    引用外部DTD时,要在DOCTYPE中使用关键词SYSTEM或PUBLIC   ,后者是已经被认可的文件。

    通常引用自己写的dtd文件使用SYSTEM关键词

    ---------------

    *************************************************************************************************************************

    3.DTD对元素声明

     

    <!ELEMENT 元素名 元素内容 >

    ELEMENT 关键字,表示对元素类型进行声明

    元素名 为当前指定元素名称

    元素内容可分为:EMPTY、子元素型、混合型、ANY和#PCDATA 5种

    元素内容类型:

    1)EMPTY 该元素只可能有属性而不会有元素内容。

    <!ELEMENT element-name EMPTY>

    实例:

    <br/>

    2)ANY 可以包含DTD中定义的其他任何元素或已编译的字符数据,包括PCDATA、元素或元素与PCDATA的混合内容。

    <!ELEMENT element-name ANY >

    3)#PCDATA 不包含其他子元素而只能有文本数据,文本数据可以是普通字符、CDATA段中的内容、字符引用和实体引用。

    <!ELEMENT element-name (#PCDATA) >

    4)子元素型 分为3种:序列:<!ELEMENT 根元素名称(a,b,c,d ..)> , 选择<!ELEMENT 根元素名称 (a|b|c|d..) > 混合<!ELEMENT 根元素名称((a|b),(c|d))>

    5)混合型 既可以包含子元素又可以包含文本数据<!ELEMENT 根元素名 (#PCDATA | 子元素)* >  

     

    ?字符:它说明元素可以出现0次或1次。

     * 字符:它说明元素可以不出现,或出现1次或多次。
     + 字符:它说明元素必须出现至少一次,或者说可以出现一到多次 

    如:<!ELEMENT 根元素名称(a+,b?,c*,d ..)>

    DTD对属性声明

    <!ATTLIST 元素名 属性名 属性类型 属性限定条件>

    ---------------------------------------------------------

    属性类型(常见):

    CDATA 字符数据,即没有标记的文本

    枚举  备选属性值的值列表

    ID 该属性在文档中具有唯一性

    IDREF 文档中元素的ID类型属性的值

    IDREFS 由空格分隔的元素的多个ID

    ENTITY 在DTD中声明的实体名称

    ENTITIES 在DTD中声明的由空格分隔的多个实体的名称

    NMTOKEN XML名称记号

    NMTOKENS 由空格份额表格的多个XML名称记号

    NOTATION 在DTD中声明的记法的名称

    ----------------------------------------------------------

    属性限定条件(常见):

    #REQUIRED  元素的每个实例必须具有该属性

    #IMPLIED 元素实例不必包含该属性

    #FIXED+固定值 属性值被指定为固定值,且用户不能改变

    默认值 如果元素中不包含该属性的属性值,那么默认值将作为属性值

    实体声明与引用

    实体分为以下几种

    1.普通实体与参数实体

    1)普通实体:

    <!ENTITY name "text" >

    name:实体引用的名称

    "text":实体的内容

    引用方式:&name;

    <p>&name;</p>

     

    2)参数实体:

     

    <!ENTITY % name "text" >

    text为参数实体内容,其中不能包含如:>,<,&,',",等特殊字符,这些字符的使用可以用特有的字替代

     

    引用方式为 : %name;

    2.内部实体与外部实体

    内部实体如上,,

     

    外部实体:

    <!ENTITY name PUBLIC FRI "URI" >

     

    PUBLIC格式:实体内容是被某一个领域所认可的文件

    SYSTEM:通常自己写的用这个

    FRI:Formal Public Identifier 为正式公用标识符,全球唯一

  • 相关阅读:
    VB获取对象成员
    VB一键扫雷
    VBS代码
    C# LINQ GroupBy
    C# 元组和值元组
    数据结构笔记
    DoTween使用
    Unity中常用的数据结构总结
    Unity 坐标系转换
    .Net中C# Dictionary 用法
  • 原文地址:https://www.cnblogs.com/864466244qq/p/9245096.html
Copyright © 2011-2022 走看看