zoukankan      html  css  js  c++  java
  • xml入门 1

    1 xml基本定义
    xml产生于SGML和HTML之后,结合了这两门语言的优点。
    xml彻底的将文档的结构和数据与显示样式分离开来。
    看一下xml的简单定义,以供后面例子使用。
    Xml代码
    1. <?xml version="1.0" encoding="UTF-8"?>  
    2. <books>  
    3.     <book>  
    4.         <title>xml</title>  
    5.         <author>Bob</author>  
    6.         <price unit="RMB">20.0</price>  
    7.     </book>  
    8. </books>  
    9.     
    <?xml version="1.0" encoding="UTF-8"?> <books> <book> <title>xml</title> <author>Bob</author> <price unit="RMB">20.0</price> </book> </books>
    在这里不仅定义了节点,还定义了一个节点属性
    2 dtd
    任何一个xml文档,都可以包含一个它的约束dtd。dtd分为外部dtd和内部dtd。
    • 外部dtd的定义方式
    • Xml代码
      1. <?xml version="1.0" encoding="GB2312"?>    
      2. <!ELEMENT books (book*)>  
      3. <!ELEMENT book ( title,author,price)>  
      4. <!ELEMENT title (#PCDATA)>  
      5. <!ELEMENT author (#PCDATA)>  
      6. <!ELEMENT price (#PCDATA)>  
      7. <!ATTLIST price unit CDATA "RMB">  
      <?xml version="1.0" encoding="GB2312"?> <!ELEMENT books (book*)> <!ELEMENT book ( title,author,price)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ATTLIST price unit CDATA "RMB">
      在xml中引用dtd的方法
      Xml代码
      1. <!DOCTYPE books SYSTEM “DTD-URL”>或者  
      2. <!DOCTYPE books PUBLIC "DTD名称" "DTD-URL">  
      <!DOCTYPE books SYSTEM “DTD-URL”>或者 <!DOCTYPE books PUBLIC "DTD名称" "DTD-URL">
    • 内部dtd的定义方式
    • Xml代码
      1. <?xml version="1.0" encoding="UTF-8"?>  
      2. <!DOCTYPE books [  
      3. <!ELEMENT books (book*)>  
      4. <!ELEMENT book ( title,author,price)>  
      5. <!ELEMENT title (#PCDATA)>  
      6. <!ELEMENT author (#PCDATA)>  
      7. <!ELEMENT price (#PCDATA)>  
      8. <!ATTLIST price unit CDATA "RMB">  
      9. ]  
      10. <books>  
      11.     <book>  
      12.         <title>xml</title>  
      13.         <author>Bob</author>  
      14.         <price unit="RMB">20.0</price>  
      15.     </book>  
      16. </books>  
      <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE books [ <!ELEMENT books (book*)> <!ELEMENT book ( title,author,price)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT price (#PCDATA)> <!ATTLIST price unit CDATA "RMB"> ] <books> <book> <title>xml</title> <author>Bob</author> <price unit="RMB">20.0</price> </book> </books>

    • 关于dtd中定义的说明
    •    a 复合元素定义
      Xml代码
      1. <!ELEMENT books(book*)>  
      2. MENT book (title,author,price)>  
      <!ELEMENT books(book*)> <!ELEMENT book (title,author,price)> 在这里面我们要注意的是元素出现的次数
      引用
      ? 不出现或者出现一次
      * 不出现或者出现多次(任意次,包括0)
      + 必须出现一次以上
      无符号 只能出现一次

         b 基本元素定义
      Xml代码
      1. <!ELEMENT   title (#PCDATA)>  
      <!ELEMENT title (#PCDATA)>
         c 空元素定义
      Xml代码
      1. <!ELEMENT   hr   EMPTY>  
      <!ELEMENT hr EMPTY>
         d 定义元素属性
      Xml代码
      1. <!ATTLIST price unit CDATA "RMB">  
      <!ATTLIST price unit CDATA "RMB">
         e 属性的赋值特征
      引用 #REQUIRED 元素的属性是必须的
      #IMPLIED 元素的属性是可有可无的
      #FIX 元素的属性的值是固定不变的
      默认值 字符数据

         f 属性值的类型
      引用 CDATA ENUMERATED ID IDREF ENTITY ENTITIES NOTATION等等。


    3 实体
    • 内部实体
      Xml代码
      1. <?xml version="1.0" encoding="GB2312"?>    
      2. <!DOCTYPE books   [   
      3. ...  
      4. <!ENTITY   author "Bob">  
      5. ...  
      6. ]>  
      7. <books>  
      8. <book>  
      9. ...  
      10. <author>&author;  </author>  
      11. ...  
      12. </book>  
      13. </books>  
      <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE books [ ... <!ENTITY author "Bob"> ... ]> <books> <book> ... <author>&author; </author> ... </book> </books>
    • 外部实体
    • Xml代码
      1. <?xml version="1.0" encoding="GB2312"?>    
      2. <!DOCTYPE books   [   
      3. ...  
      4. <! ENTITY   author   SYSTEM   “entities1.dtd” >  
      5. ...  
      6. ]>  
      7. <books>  
      8. <book>  
      9. ...  
      10. <author>&author;  </author>  
      11. ...  
      12. </book>  
      13. </books>  
      <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE books [ ... <! ENTITY author SYSTEM “entities1.dtd” > ... ]> <books> <book> ... <author>&author; </author> ... </book> </books>
    • 预定义实体
    • Xml代码
      1. <title>我说:&quot; 再见!&quot; </ title>  
      <title>我说:&quot; 再见!&quot; </ title>
    • 参数实体
    • Xml代码
      1. <?xml version="1.0" encoding="GB2312"?>  
      2.      <!ENTITY   % para   “bp”>  
      3.      <!ELEMENT reference ((%para;)+)>  
      4.      <!ELEMENT %para; (title,author)>  
      5.      <!ELEMENT title (#PCDATA)>  
      6.      <!ELEMENT author (#PCDATA)>  
      <?xml version="1.0" encoding="GB2312"?> <!ENTITY % para “bp”> <!ELEMENT reference ((%para;)+)> <!ELEMENT %para; (title,author)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)>
      引用外部DTD中定义的参数实体的XML文档paper.xml代码如下:
      Xml代码
      1.       
      2. <?xml version="1.0" encoding="GB2312" ?>  
      3.      <!DOCTYPE reference SYSTEM "referrence.dtd" [  
      4.          <!ENTITY   % para   "paper">  
      5.      ]>   
      6.     <reference>  
      7.     <paper>  
      8.     <title>xml</title>  
      9.     <author>Bob</author>  
      10.     </paper>  
      11.     </reference>  
      <?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE reference SYSTEM "referrence.dtd" [ <!ENTITY % para "paper"> ]> <reference> <paper> <title>xml</title> <author>Bob</author> </paper> </reference>
      引用外部DTD中定义的参数实体的XML文档book.xml代码如下:
      Xml代码
      1.       
      2. <?xml version="1.0" encoding="GB2312" ?>  
      3. <!DOCTYPE reference SYSTEM "referrence.dtd" [  
      4.           <!ENTITY   % para   "book">    
      5. ]>   
      6. <reference>  
      7. <book>  
      8. <title>JS</title>  
      9. <author>JNotnull</author>  
      10. </book>  
      11. </reference>  
      <?xml version="1.0" encoding="GB2312" ?> <!DOCTYPE reference SYSTEM "referrence.dtd" [ <!ENTITY % para "book"> ]> <reference> <book> <title>JS</title> <author>JNotnull</author> </book> </reference>
  • 相关阅读:
    Auto Mapper01
    一个ActionResult中定位到两个视图—<团委项目>
    网站根目录的问题
    数据库基础和断点调试
    linux 环境下jmeter+ant+jenkins
    Postman 下载和使用
    用ExtentReports美化你的测试报告
    extentreports报告插件与testng集成
    SourceTree使用图解
    charles4.2下载与破解方法以及配置https
  • 原文地址:https://www.cnblogs.com/danghuijian/p/4400896.html
Copyright © 2011-2022 走看看