XML的学习笔记

来源:互联网 发布:淘宝客邻尚品的货真假 编辑:程序博客网 时间:2024/06/07 13:03
     XML的学习:
          1.XML简介及语法:
          2.XML的约束:
               DTD
               Schema
          3.XML的解析:(*****重点)
     XML:
          What:eXtensible Markup Language(可扩展的标记语言。)  <dog></dog>
               * HTML:超文本标记语言.   标记语言 :都会有一些标签。<html></html>  <p></p>
          Why:
               * 用来处理大量有关系的数据。
              
          Where:
               * 用来作为软件的配置文件(SSH---配置文件都是XML)
               * 用来存储数据(当做一个小型的数据库)
               * 用来异步系统传输数据.
                   
          How:
    
     XML的语法:
          文档声明:(一看就会)
               * 注意:文档声明出现的位置。xml的第一行 第一列的位置.
               <?xml version="1.0" ?>
               version:版本   1.0   而且 version属性是必须的.
               encoding:编码集   可选的属性
               standalone:是否需要依赖其他的文档.  yes/no
              
               <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
          元素:(重点)
               元素:标签。
                    标签的写法:
                         <span></span>   <img/>
                    标签的嵌套:
                         必须正确嵌套
                         <a><b></a></b> ---错误的
                         <a><b></b></a> ---正确的
                        
                    XML必须有且仅有一个跟标签.
                   
               元素命名规范:
                    * 区分大小写.
                    * 不能以数字或_开头  
                    * 不能以xml XML  Xml开头.
                    * 元素名称中间不能出现 空格 或 冒号 
                   
               <a> <person> ...
          属性:(重点)
               <input type="" name="">  input:元素(标签) type 和 name 都叫做属性
              
               <input>
                    <type></type>
                    <name></name>
               </input>
          注释:(不看都会)
               注释:<!--  注释内容  -->
              
               ***** 注意  : 注释中不能嵌套注释。   注释不能写在文档声明之前.
          特殊字符和CDATA区:(一看就会)
               转义字符:
               <span>3<5</span>   
               <  &lt;
               >  &gt;
               &  &amp;
               "  &quot;
               '  &apos;
              
               CDATA区:--- 扩起来东西:不会认为是标签,认为是普通的文本(字符串).
               <![CDATA[  认为是普通的文本  ]]>
              
               * 写法  <![CDATA[  ]]>  
              
          处理指令(PI):(看完就忘了)
               * <?xml-stylesheet type="text/css" href="1.css"?>
         
          XML出现替换HTML :由于XML的语法比较复杂.  XHMTL    ---- HTML5 ---
===================================================================================================================    
     开发一个框架:
          配置文件:文件有什么好处:就是不需要修改程序的源代码.
               properties:作为软件配置文件.
                    key=value  ----形式的文件.
                    com.login.=cn.itcast.Test
                   
               xml:作为软件的配置文件.
                    xml可以更好的描述 层次关系.
                    <web-app>
                         <servlet>
                              <servlet-name></servlet-name>
                         </servlet>
                    </web-app>
                   
               因为是xml是可扩展的标记语言
                    <web-app>
                         <servlet>
                              <cat></cat>
                              <servlet-name></servlet-name>
                         </servlet>
                    </web-app>
                   
     XML的约束:DTD 和 XML Schema(看懂为主)
          (***** XML的约束有哪些?区别是什么?)
         
          遵守了XML语法的写法的XMl :格式良好的XML.
          遵守了XML的语法 遵守了约束文档定义: 有效的XML
         
          DTD:文档类型定义:
               使用DTD约束XML的文档。快速入门.
               编写DTD的步骤:
                    1.xml文档中需要出现哪些标签、个数是多少?6个
                         <!ELEMENT 元素名称  元素类型>
                    2.查询xml元素中,类型是什么.
                         简单or复杂
                    3.需要在xml中引入dtd.
                   
          DTD的引入的方式:
               文档内部
                    <!DOCTYPE 书架 [
                         <!ELEMENT 书架 (书+)>
                         <!ELEMENT 书 (书名,作者,售价,简介)>
                         <!ELEMENT 书名 (#PCDATA)>
                         <!ELEMENT 作者 (#PCDATA)>
                         <!ELEMENT 售价 (#PCDATA)>
                         <!ELEMENT 简介 (#PCDATA)>
                    ]>                   
               文档外部
                    * 本地
                         <!DOCTYPE 书架 SYSTEM "book.dtd">
                    * 网络
                         <!DOCTYPE 书架 PUBLIC "DTD的名称" "DTD路径">
                        
          DTD的语法:
               元素的定义
                    语法:<!ELEMENT 元素名称  元素类型>
                    元素的类型:
                         #PCDATA          :可解析的字符数据
                         子元素          :
                         EMPTY          : 空元素
                         ANY               :任意元素
                        
                         子元素的次数
                              +      :  一次或多次
                              *     :  零次或多次
                              ?   :  零次或一次
                         子元素的顺序
                              ,     : 子元素出现必须按照顺序.
                              |     : 子元素出现是或的关系.
               属性的定义: attribute--属性
                    语法:<!ATTLIST 元素名称 属性名称 属性类型 属性约束>
                    * <!ATTLIST 书 出版社 CDATA #REQUIRED>
                   
                    属性类型:
                         CDATA     :字符数据(字符串)
                         枚举     :枚举类型
                         ID          : 标识是唯一
                   
                    属性约束:
                         #REQUIRED : 属性必须出现.
                         #IMPLIED  : 属性是可选的.
                         #FIXED       : 属性采用固定值.
                         默认值    :
               实体的定义
                    语法:<!ENTITY 实体名称 实体值>
                         <!ENTITY bookname "葵花宝典">
===================================================================================================================                             
     XML的编程(重点....)     CRUD
          XML的解析技术?
          (*****XML的解析技术有哪些?区别是什么?)
               ***** XML的解析技术有很多 常用的有两种 DOM 和 SAX。
               DOM:Document Object Model 文档对象模型 . 将XML一次性加载到内存中,形成一个树形结构.
               SAX:Simple API for XML.不需要将文档一次性加载到内存中,边读边解析,事件驱动的方式.
         
          JAXP:  SUN公司。提供的API。(解析的包是w3c的包)
               1.创建一个XML的解析器.
               2.使用解析器解析XML --- Document.
               3.使用Document获得操作的节点.
              
               CRUD.
              
               SAX:事件驱动的方式.边读边解析.
               //创建解析器
               //处理器.
          ***** DOM4J: 开源组织.  (重点)(org.dom4j下面的包)
              
          XPath: 方便查询XML的节点.  dom4j支持XPath.
              
          JDOM:  开源组织.
     
===================================================


0 0
原创粉丝点击