XML的基本使用

3 篇文章 0 订阅
2 篇文章 0 订阅

本文主要介绍xml和xml的一些基本用法,以及xml的约束,希望对新手有用。

 

1.xml的介绍和基本用法

xml指可扩展标记语言,xml被设计用来传输和存储数据,xml不是对html的替代,而是对html的补充,但是在开发中现在最常用的传输数据的格式是json。xml还可以用于配置文件的设置。

xml和html非常的相似,标签又开始就有结束,还有“自闭标签”,但是在标签中无法使用空格和冒号,xml对大小写敏感,良好的xml格式必须有一个根元素(父元素)

在xml中,有5个预定义的实体引用:

当大量的转义字符出现在xml文档中时,会使xml文档的可读性降低,使用CDATA区会更好一点,在CDATA区中出现的一些字符都无需转义字符,但是CDATA段中不能包含“]]>”,即CDATA段的结束界定符。CDATA区的使用格式如下:

                                                               

2.xml的约束

(1)DTD约束(document type definition  文档类型定义)

引用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)>        //#PCDATA表示文本内容
<!ELEMENT servlet-class (#PCDATA)>
<!ELEMENT url-pattern (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT jsp-file (#PCDATA)>

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

<!ATTLIST web-app version CDATA #IMPLIED>   //这个是属性声明    #IMPLIED表示属性为可选

实例文档例子:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
<web-app>
	<servlet>
		<servlet-name></servlet-name>
		<servlet-class></servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>
			
		</servlet-name>
		<url-pattern></url-pattern>
	</servlet-mapping>
</web-app>

(2)Schema约束

schema约束是新的xml文档约束,数据类型更加完善。本身也是xml文档,但是文件扩展名为xsd,支持名称空间。注意注意注意!!!!!!下面注释用的符号 “//” 并不是xml文档里面的注释用法,只是为了简单的说明一下,不要被我误导了。

schema约束文档

xmlns="http://www.w3.org/2001/XMLSchema"        //表示引入w3c预定义的名称空间
targetNamespace="http://www.example.org/web-app_2_5"        //自定义一个名称空间

            根标签用<xsd:schema> </xsd:schema>

xml实例文档:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        //表示引入w3c的实例文档
xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
//表示引入自定义的名称空间

约束文档例子:

<xsd:element name="web-app">
		<xsd:complexType>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element name="servlet">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="servlet-name"></xsd:element>
							<xsd:element name="servlet-class"></xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="servlet-mapping">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="servlet-name"></xsd:element>
							<xsd:element name="url-pattern" maxOccurs="unbounded"></xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="welcome-file-list">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element name="welcome-file" maxOccurs="unbounded"></xsd:element>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:choice>
			<xsd:attribute name="version" type="double" use="optional"></xsd:attribute>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>

实例文档例子(xml文档):

<?xml version="1.0" encoding="UTF-8"?>
<!--引入W3C实例文档  -->
<!-- 引入本地文档的所在位置 -->
<web-app xmlns="http://www.example.org/web-app_2_5" 	
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
			xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
			version="2.5">
	<servlet>
		<servlet-name></servlet-name>
		<servlet-class></servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name></servlet-name>
		<url-pattern></url-pattern>
	</servlet-mapping>
</web-app>

PS:一般来说知道约束文档里面的标签就好了,在开发中约束文档会给你的。应该不用自己编写。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值