XML学习笔记
来源:互联网 发布:淘宝网店名称大全 编辑:程序博客网 时间:2024/06/01 22:27
XML属性:
一个标签可以有u盾讴歌属性,每个属性都有它自己的名称和取值。
属性值一定要用双引号或者单引号引起来
定义属性必须遵循与标签相同的明明规范
在XML技术中,标签属性所代表的信息,也可以被代称用子元素的形式来描述。
XML注释:
格式:采用:<!—注释-->格式。
注意:XML生命之前不能有注释。
XML的注释不能嵌套。
CDATA区:在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当做原始内容处理,此时,可以把这些内容放入CDATA区里。这些内容,将原封不动地输出。格式如:<![CDATA[]]>
效果图如下:
转义字符:
特殊字符
替代字符
&
&
<
<
>
>
”
"
‘
'
XML约束
常用的约束技术: XML DTD和 XML schema。
DTD(Document Type Definition),全称为文档类型定义。
例:
book.xml
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPE书架 SYSTEM"book.dtd">
<书架>
<书>
<书名>复兴之路</书名>
<作者>大米</作者>
<售价>100元</售价>
</书>
<书>
<书名>大米的小米</书名>
<作者>米粒儿</作者>
<售价>100元</售价>
</书>
<阿毛>小猫咪
</阿毛>
</书架>
与book.xml对应的book.dtd:
<!ELEMENT书架 (书+)> //ELEMENT元素定义
<!ELEMENT书 (书名,作者,售价)>
<!ELEMENT书名 (#PCDATA)>
<!ELEMENT作者 (#PCDATA)>
<!ELEMENT售价 (#PCDATA)>
DTD约束语法细节:
n 元素定义
n 属性定义
n 实体定义
元素定义1:
在DTD文档中使用ELEMENT声明一个XML元素,语法格式如下所示:
<!ELEMENT 元素名称 元素类型>
元素类型可以是元素内容、或类型
1. 如为元素内容:则需要使用()括起来,如
<!ELEMENT 书架(书名,作者,售价)>
<ELEMENT 书名(#PCDATA)>
2. 如为元素类型,则直接书写,DTD规范定义了如下几种类型:
l EMPTY:用于定义空元素,例如:<br/><hr/>
l ANY:表示元素内容为任意类型。
n 实体定义
元素定义2:
l 元素内容中可以使用如下方式,描述内容的组成联系
n 用逗号分隔,表示内容的出现顺序必须与声明时一致。
n <!ELEMENT MYFILE(TITLE,AUTHOR,EMAIL)>
n 用|分隔,表示任选其一,即多个只能出现一个
n <!ELEMENT MYFILE(TITLE|AUTHOR|EMAIL)>
l 在元素中也可以使用+、*、?等符号表示元素出现的次数:
n +:一次或多次(书+)
n ?:零次或一次(书?)
n *零次或多次(书*)
l 也可以使用圆括号()批量设置,如下:
n <!ELEMENT MYFILE((TITLE*,AUTHOR?,EMAIL)*|COMMENT)>
属性定义:
XML文档中的标签属性需通过ATTLIST为其设置属性:(ATT----->attribute)
语法格式:
<!ATTLIST 元素名
属性名1 属性值类型 设置说明
属性名2 属性值类型 设置说明
…….
>
属性声明举例:
<!ATTLIST 商品
类别 CDATA #REQUIRED 意即为:characterDATA 必须写
颜色 CDATA #IMPLIED 意即为:可选
>
对应的XML文件为:
<商品 类别=”服装” 颜色=”黄色”>…</商品>
<商品 类别=”服装”>…</商品>
<商品>…</商品>
属性定义中的“设置说明”
l #REQUIRED; 必须设置该属性
l #IMPLIED; 可以设置也可以不设置
l #FIXED; 说明该属性的取值固定为一个值,在XML文件中不恩能够为该属性设置其他值,单需要为该属性提供这个值
l 直接使用默认值:在XML中可以设置该值,也可以不设置该属性值。若没设置,则使用默认值。
<!ATTLIST 页面作者
姓名CDATA #IMPLIED
年龄 CDATA #IMPLIED
联系信息 CDATA #REQUIRED
网站职务 CDATA #FIXED“页面作者“
个人爱好 CDATA “上网”
>
常用属性值类型
l CDATA:表示属性值为普通文本字符串。
l ENUMERATED
l ID
l ENTITY(实体)
属性值类型------>ENUMERATED
属性的类型可以是一组取值的列表,在XML文件中设置的属性值只能是这个列表中的某个值(枚举)
<?xml version=”1.0” encoding=”GB2312” standalone=”yes”?>
<!DOCTYPE 购物篮 [
<!ELEMENT 肉 EMPTY>
<!ATTLIST 肉 品种(鸡肉|牛肉|猪肉|鱼肉|)“鸡肉“>
]>
<购物篮>
<肉 品种=“鱼肉“/>
<肉 品种=“牛肉“/>
<肉/>
</购物篮>
属性值类型----->ID
表示属性的设置值为一个唯一值。
ID属性的值只能由字母或下划线开始,不能出现空白字符
例如:
<?xml version=”1.0” encoding=”GB2312” standalone=”yes”?>
<!DOCTYPE 联系人列表 [
<!ELEMENT 联系人列表 ANY>
<!ELEMENT 联系人(姓名,EMAIL)>
<!ELEMENT 姓名(#PCDATA)>
<!ELEMENT EMAIL(#PCDATA)>
<!ATTLIST 联系人 编号 ID #REQUIRED>
]>
<联系人列表>
<联系人 编号=“a1”>
<姓名>张三</姓名>
<EMAIL>YDTECH@sina.com</EMAIL>
</联系人>
<联系人 编号=“a2”>
<姓名>李四</姓名>
<EMAIL>lisi@sina.com</EMAIL>
</联系人>
</联系人列表>
实体定义
l 实体用于为一段内容创建别名,以后在XML文档中就可以使用别名引用这段内容了。
l 在DTD定义中,一条<!ENTITY…>语句用于定义一个实体。
l 实体可以分为两种类型:引用实体和参数实体。
1、实体定义------>引用实体
引用实体主要在XML文档中被应用
语法格式:
<!ENTITY 实体名称 “实体内容“>:直接转变成实体内容
引用方式:
&实体名称;
举例:
<!ENTITY copyright “I am a programmer”>
……
引用时:©right;
2、实体定义------>参数实体
参数实体被DTD文件自身使用
语法格式:
<!ENTITY % 实体名称 “实体内容“>
引用方式: %实体名称;
举例1:
<!ENTITY % TAG_NAMES“姓名|EMAIL|电话|地址“>
<!ELEMENT 个人信息(%TAG_NAMES;|生日)>
<!ELEMENT 客户信息(%TAG_NAMES;|公司名)>
举例2:
<!ENTITY %common.attributes”id ID #IMPLIED account CDATA #REQUIRED”
>
…
<!ATTLIST purchaseOrder %common.attributes;>
<!ATTLIST item %common.attributes;>
如何引用DTD约束?
XML文件使用DOCTYPE声明语句来致命它所遵循的DTD文件,DOCTYPE声明语句有两种形式:
当引用的文件在本地时,采用如下方式:
<!DOCTYPE 文档根节点 SYSTEM “DTD文件的URL”>
例如:<!DOCTYPE 书架 SYSTEM “book.dtd”>
当引用的文件时一个公共的文件时,采用如下方式:
<!DOCTYPE 文档根节点 PUBLIC “DTD名称” “DTD文件的URL”>
例如:<!DOCTYPE web-app PUBLIC “-//Sun microsystem.Inc//DTD……..//EN” http://javasun.com/dtd/web-app_2_3.dtd>
- xml学习笔记 1. XML
- XML Base学习笔记
- XML学习笔记
- XML学习笔记01
- xml学习笔记---1
- xml学习笔记---2
- XML学习笔记
- XML学习笔记(三)
- XML学习笔记
- xml学习笔记一
- XML学习笔记
- XML schema学习笔记
- XML学习笔记
- XML Schema学习笔记
- XML语法---学习笔记
- XML元素---学习笔记
- XML属性---学习笔记
- xml学习笔记
- Pipe(poj1039线段相交)
- iOS 7新功能汇总!
- JavaScript学习笔记
- Web开发框架 WebBuilder 开源了!
- 修改rc.local后,出现循环登录问题
- XML学习笔记
- 情感分析系统的预处理工作
- 链表存储二进制,并且把此二进制数加1
- 9.URl全排序
- 0到n-1数组的排序
- one piece_路飞_01
- 1) 获取类型特征typeTraits [原创,泛型编程,自由下载转载,需注明出处]
- 2013-09-24
- ORALCE基于用户管理恢复的处理