XML教程

XML基础知识点

本文主要是介绍XML基础知识点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一,XML(eXtensible Markup Language)

1. 简介:

可扩展标记语言,是一种标签语言。常用于接口语言使用。

2. xml与html的区别:

① XML标签:是自定义的标签,结构与样式分离;被设计用来传输和存储数据。

② HTML标签:是固定的标签,结构与样式结合在一起;被设计用来显示数据。

3. xml的应用:

msn在本地以xml进行存储聊天记录。

4.xml与html的发展历史:

1998年出现,是为了把html给替换掉。因为要消耗很多人力财力,代价比较大,最后也没有替换成功。

xhtml:内部技术都是xtml,标签都是html的。

5. xml的作用:

① 可以当作小型数据库使用:msn聊天工作通过xml文件在本地保留聊天记录信息。

② 可以在网站里当作接口服务使用。

③ 可以当作配置文件使用:例如在项目里把数据库的主机名、用户名、密码在xml里配置好。

6.xml的语法标准:

1)声明一个处理指令<?xml version="1.0" encoding= "utf-8"?>;

xml内容可以被浏览器直接解释运行,当看到处理指令的时候会自动调用xml解释器。

        关于头文件属性的解释:
             - version:xml的版本 1.0(文中使用的版本) 1.1
             - encoding: xml编码 gbk utf-8 iso8859-1(不包含中文) 等等 ,这个编码指定打开该文件时读取文件内容的编码,不是保存的编码
            - standalone:是否需要依赖其他文件yes/no
 

2)xml文档的树状结构有且只有一个根节点,必须写根结点。

3)标签必须闭合

4)标签大小写一致(建议小写)

5)属性全小写,属性必须有值,值必须有引号(单双都可)

6)标签可以嵌套,但不可以交叉

7)特殊符号使用符号实体(单引号&apos;    双引号&quot;  空格&nbsp;    符号&anp;)

8)大段内容有特殊内容<![CDATA[]]>表示。解释器会把特殊字符当文本内容,而不是标签

9)空标记闭合/单标签。

10)xml标签名字组成部分:

11) 在xml中把换行和空格都当成内容来解析,以下爱两种表示内容不同。

<a>1111</a>
<a>
   1111
</a>

12)注释:<!---->,注释不能嵌套也不能放在第一行。

 

 

 

二,XML文件解析的方式

1.SAX读取方式:根据程序员需要,一次只将若干个标签加载到内存中去。  采用事件驱动,边读边解析,从上到下,一行一行的解析。

优点:节省内存。

缺点:读取大量标签信息的时候,效率低。

2.DOM读取方式:一次性加载所有xml文档所有的内容,加载到内存中。根据xml的层级结构在内存中分配一个树形结构,把xml的标签,属性,文本都封装为对象。

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

缺点:浪费内存。

 

三,XML约束文档

1.xml约束文档作用:

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

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

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

2.XML约束文档分类:

1)DTD约束文档(简单约束文档):后缀名.dtd

如:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 第一句为了声明这是一个xml文件-->
<!--
	1.<!ELEMENT 标签类型名>: 声明可以在xml文档中出现的标签类型名
	2.<!ATTLIST 标签类型名 属性名>:声明可以在当前标签内部使用属性名称
	3.<!ELEMENT 标签类型名(子标签名?)>:子标签可以出现父标签内部,也可以不出现,如果出现只能出现一次。
	4.<!ELEMENT 标签类型名(子标签名+)>:子标签必须出现父标签内部,并且可以出现多次
	5.#PCDATA 表示当前标签没有子标签
	6.<!ELEMENT 标签类型名(子标签名*)>:子标签可以出现也可以不出现,可以多次
	7.<!ELEMENT 标签类型名(子标签名)>:必须出现,只一次
	8.<!ELEMENT 标签类型名(子标签名|子标签2)>:这两个子标签必须有一个子标签出现
	
	
-->
<!-- 使用DTD文档前,必须将以下代码导入到目标文件:导约束

<!DOCTYPR web-app SYSTEM "web-app_2_3.dtd">

 -->

<!ELEMENT web-app (servlet*,servlet-mapping*,welcome-file-list?)>
<!ELEMENT servlet (servlet-name,description?,(servlet-class|jsp-file))>
<!ELEMENT servlet-mapping (servlet-name,url-pattern)>
<!ELEMENT servlet-name (#PCDATA)>
<!ELEMENT servlet-class (#PCDATA)>
<!ELEMENT url-pattern (#PCDATA)>
<!ELEMENT jsp-file (#PCDATA)>
<!ELEMENT description (#PCDATA)>


<!ELEMENT welcome-file-list (welcome-file+)>
<!ELEMENT welcome-file (#PCDATA)>

<!ATTLIST web-app version CDATA #IMPLIED>
<!ATTLIST web-app name CDATA #IMPLIED>

那么配置的xml文件必须为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
<!--引入外部dtd约束 -->
<web-app version="3.0" name="13">
	<servlet>
		<servlet-name>A	</servlet-name>
		<servlet-class>3</servlet-class>
	</servlet>
	<welcome-file-list>
		<welcome-file>
			index.html
		</welcome-file>
	</welcome-file-list>
</web-app>

2)SHEMA约束文档(高级约束文档):缀名.xsd

3.区别与联系

1.两种约束文档不能同时出现

2.SHEMA支持前缀名,多个.XSD文件存在时,可以做区分。

 

 

 

 

 

 

 

 

 

 

 

 

 

这篇关于XML基础知识点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!