zoukankan      html  css  js  c++  java
  • XML

           XML  
    1、什么是 XML?
    概念:XML(EXtensible Markup Language)XML 指可扩展标记语言(EXtensible Markup Language)
    可扩展:我们可以自定义,完全按照自己的规则来!
    标记: 计算机所能认识的信息符号!
           int  num=5;  教材编号
    2、XML 和HTML的对比:
      01.很像html
      02.着重点是数据的保存
      03.无需预编译
      04.符合W3C标准
    3、XML 命名规则
    XML 元素必须遵循以下命名规则:
    • 名称可以含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字符 “xml”(或者 XML、Xml)开始
    • 名称不能包含空格
    可使用任何名称,没有保留的字
    4、XML 与 HTML 的主要差异
    XML 不是 HTML 的替代。
    XML 和 HTML 为不同的目的而设计:
    XML 被设计为传输和存储数据,其焦点是数据的内容。
    HTML 被设计用来显示数据,其焦点是数据的外观。
    HTML 旨在显示信息,而 XML 旨在传输信息。
    5、XML的组成部分:
    01.文档声明  <?xml version="1.0" encoding="UTF-8"?>
    02.元素    <p></p>
    03.属性    <p  id="haha"></p>
    04.注释   <!-- -->
    05.特殊字符
    06.CDATA区域  Character data   字符數據
    07.处理指令   引入css样式 
    6、XML标签                                                     
    1:XML文档内容由一系列标签元素组成          
    2:所有 XML 元素都须有关闭标签。例:<p>This is a paragraph</p>(在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签:)
    3:XML 标签对大小写敏感。例:<message>这是正确的。</message>
    4:XML 必须正确地嵌套。例:<b><i>This text is bold and italic</i></b>
    5:XML 文档必须有根元素(XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。)
    6.空格和换行都是特殊字符 会被解析器解析
     
    XML,HTML都是一个类似于倒挂的树!
    只有一个根节点,枝叶茂盛!
    我们把这个倒挂的树称之为===》dom树!
    DOM:(Doucument Object Model)文档对象模型!
     
    特殊字符:
    >   &gt;
    <   &lt;
    &   &amp;
    '   &apos;
    "   &quot;
     
    CDATA区域: XML解析器不会处理,而是当成字符串原样输出!
    <![CDATA[xml内容]]>

    解析xml文件的方式:
        01.DOM:基于xml文档树结构的解析,把xml文件中的内容都读取到内存中,
             比较占内存,消耗资源多!
        02.SAX:基于事件的解析。消耗资源小!
        03.JDOM:针对于java的特定模型!满足2 8原则!自身没有解析器,依赖于SAX2!
       
    解析XML技术
    DOM
    基于XML文档树结构的解析
    适用于多次访问的XML文档
    特点:比较消耗资源
    SAX
    基于事件的解析
    适用于大数据量的XML文档
    特点:占用资源少,内存消耗小
    DOM4J
    非常优秀的Java XML API
    性能优异、功能强大
    开放源代码
    DOM介绍(DOM解析包:org.w3c.dom)
    文档对象模型(Document Object Model)
    DOM把XML文档映射成一个倒挂的树
     
     
     
    04.DOM4J:for(4)JDOM的一个分支!源码开放,性能优异,功能强大!
    创建第一个maven项目:
    1.new  project===>maven==>quick==>archetypeCatalog=internal
    2.引入需要的pom节点
    3.自定义一个xml文件  (学校  年级  班级)
    4.需求通过dom4j实现查询学校下面的年级以及班级信息
    5.创建一个测试类 书写代码
    DTD:Document Type Definition(文档类型定义)
    01.规范我们的编码
    02.在浏览器中正常的显示

    <!ELEMENT school (grade+),(class|student)>
    ELEMENT :元素,关键字
    school:元素名称
    grade:子元素或者元素类型  CDATA  PCDATA (Parse)解析数据,不能包含子元素
    ():用来给元素分组
    | :两者必须选择一个
    + : 1-N,至少出现一次
    * : 0-N,可有可无,并且可以多次
    ?: 0|1,最多一次
    ,:元素出现的顺序
    DTD文档使用方式:
    01.内部DTD
    <!DOCTYPE 根元素[定义的内容]>
    02.外部DTD
    <!DOCTYPE 根元素 SYSTEM "dtd文件位置">
    02.内外部DTD
    <!DOCTYPE 根元素 SYSTEM "dtd文件位置"[定义的内容]>

  • 相关阅读:
    linux下shell显示-bash-4.1#不显示路径解决方法
    update chnroute
    An error "Host key verification failed" when you connect to other computer by OSX SSH
    使用dig查询dns解析
    DNS被污染后
    TunnelBroker for EdgeRouter 后记
    mdadm详细使用手册
    关于尼康黄的原因
    Panda3d code in github
    Python实例浅谈之三Python与C/C++相互调用
  • 原文地址:https://www.cnblogs.com/3020815dzq/p/9240183.html
Copyright © 2011-2022 走看看