ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

XML文档

2022-05-09 18:31:57  阅读:130  来源: 互联网

标签:XML 读取 标签 文档 内存 出现


XML编程语言

  • 名称:可扩展标记编程语言

  • 历史:诞生于1996年,在2004年进行一次更新,语法版本号升级1.1,但不被接受。现在用的是1.0版本

  • xml 文档作用:

    • 最初XML文档作为【网页】来使用

    • 在Java中使用xml文档来代替properties作为配置文件

XML语法

  • HTML:是从XML演化出来的一种编程语言。HTML绝大多数语法都是来自于XML

  • 一个XML文档必须以一个【根目录标签】为开始,其他标签必须作为【根目录标签】的直接子标签或者间接子标签出现。

  • HTML标签对于英文字母的大小写是忽略不计的,但是XML标签必须区分字母的大小写

  • HTML标签中属性内容可以通过一对""包含,也可以不用,但是XML标签属性内容必须包含在一对""或者''中

XML文档读取方式

  • SAX读取方式:根据开发人员需要,一次将若干个满足条件标签加载到内存中

    • 优点:可以节省内存

    • 缺点:如果读取大量标签信息时,运行效率相对较低

  • DOM读取方式:一次性将xml文档所有的内容加载到内存中

    • 缺点:浪费内存

    • 优点:如果读取大量标签信息时,此时由于是在内存中进行定位,所以运行速度较快

  • 实际开发中,一般都采用DOM方式来读取

XML约束文档

  • XML约束文档作用:

    • 设置可以在当前XML文档声明的【标签类型名】

    • 设置可以在标签中出现的【属性名】

    • 设置标签之间父子关系和兄弟关系

  • XML约束文档分类:

    • DTD约束文档:简单约束文档

    •  1 <?xml version="1.0" encoding="utf-8" ?>
       2 <!--
       3     使用DTD文档前,必须将以下代码导入到目标文件:
       4     <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
       5 ​
       6     1. <!ELEMENT 标签类型名>:声明可以在XML文档中出现标签类型名
       7     2. <!ATTLIST 标签类型名 属性名>:声明可以在当前标签内部使用的属性名称
       8     3. <!ELEMENT 标签类型名 (子标签?)>:子标签可以出现在父标签内部,也可以不出现
       9                                      子标签如果出现,只能出现一次
      10     4. <!ELEMENT 标签类型名 (子标签+)>:子标签必须出现在父标签内部,并可以出现多次
      11     5. <!ELEMENT 标签类型名 (#PCDATA)>:当前标签没有子标签
      12     6. <!ELEMENT 标签类型名 (子标签*)>:子标签可以出现在父标签内部,也可以不出现
      13                                      子标签如果出现,可以出现多次
      14     7. <!ELEMENT 标签类型名 (子标签)>:子标签必须出现在父标签内部,且只能出现一次
      15     8. <!ELEMENT 标签类型名 (子标签|子标签)>:这两个子标签必须有一个子标签出现在父标签中
      16                                           但是不能同时出现
      17 ​
      18 -->
      19 <!ELEMENT url-pattern (#PCDATA)>
      20 <!ELEMENT servlet-mapping (servlet-name,url-pattern)>
      21 <!ELEMENT welcome-file (#PCDATA)>
      22 <!ELEMENT welcome-file-list (welcome-file+)>
      23 <!ELEMENT web-app (servlet*,servlet-mapping*,welcome-file-list?) >
      24 <!ELEMENT servlet-name (#PCDATA)>
      25 <!ELEMENT servlet-class (#PCDATA)>
      26 <!ELEMENT description (#PCDATA)>
      27 <!ELEMENT jsp-file (#PCDATA)>
      28 <!ELEMENT servlet (servlet-name,description?,(servlet-class|jsp-file))>
      29 ​
      30 <!ATTLIST web-app version CDATA #IMPLIED>

      SCHEMA约束文档:高级约束文档(常用)

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!--
     3     使用Schema约束前,必须将以下代码导入到目标文件
     4     <web-app xmlns="http://www.w3.org/2001/XMLSchema"
     5              xmlns="http://www.example.org/web-app_2_5"
     6              xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
     7              version="2.5">
     8 -->
     9 <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
    10             targetNamespace="http://www.example.org/web-app_2_5"
    11             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    12             xmlns:tns="http://www.example.org/web-app_2_5"
    13             elementFormDefault="qualified">
    14     <xsd:element name="web-app">
    15         <xsd:complexType>
    16             <xsd:choice minOccurs="0" maxOccurs="unbounded">
    17                 <xsd:element name="servlet">
    18                     <xsd:complexType>
    19                         <xsd:sequence>
    20                             <xsd:element name="servlet-name"></xsd:element>
    21                             <xsd:element name="servlet-class"></xsd:element>
    22                         </xsd:sequence>
    23                     </complexType>
    24                 </xsd:element>
    25                 <xsd:element name="servlet-mapping">
    26                     <xsd:complexType>
    27                         <xsd:sequence>
    28                             <xsd:element name="servlet-name"></xsd:element>
    29                             <xsd:element name="url-pattern"></xsd:element>
    30                         </xsd:sequence>
    31                     </complexType>
    32                 </xsd:element>
    33                 <xsd:element name="welcome-file-list">
    34                     <xsd:complexType>
    35                         <xsd:sequence>
    36                             <xsd:element name="welcome-file" maxOccurs="unbounded"></xsd:element>
    37                         </xsd:sequence>
    38                     </xsd:complexType>
    39                 </xsd:element>
    40             </xsd:choice>
    41             <xsd:attribute name="version" type="double" use="optional"></xsd:attribute>
    42         </xsd:complexType>
    43     </xsd:element>
    44 </xsd:schema>

     

     

 

 

标签:XML,读取,标签,文档,内存,出现
来源: https://www.cnblogs.com/Tombrother/p/16250351.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有