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