2011-09-26 xml知识

XML是指扩展标记语言,XML 的设计宗旨是传输数据,而非显示数据,它与html语言相似是一种标记语言。html语言是网页设计,用来显示信息。html中定义了许多标签,如:

<html></html> <br>  <hr>等实用标记标签。而xml没定义标签用户可以自己定义自己需要的标签。

xml树图:


要表达如上xml树图的信息,在xml中可以这样写

<中国>

<河北>

<保定市></保定市>

<石家庄市></石家庄市>

</河北>

<河南>

<郑州市></郑州市>

<开封市></开封市>

</河南>

</中国>

这就是xml自定义标签。用户可以自己定义标签。

xml简单介绍:

xml分类:1、格式不良好(malformed)的xml文档:完全没有遵守xml文的基本规范的xml文档。

                   2、格式良好(well-formed)的但无效的xml文档: 遵守xml文的基本规范,但没有使用dtd或schema定义语义约束的xml文档。

                   3、有效(valid)的xml文档:遵守xml文的基本规范,并使用dtd或schema定义语义约束,而且也完全遵守了dtd或schema定义 语义约束的xml文档。

XML 语法规则:XML 文档必须有根元素、XML 文档必须有关闭标签、XML 标签对大小写敏感、XML 元素必须被正确的嵌套、XML 属性必须加引号。

dtd约束:dtd用来约束xml文档。比如:刚才树图中的省份,可用dtd来约束只能是34省份中的一个省份,可以约束某个数据的数据类型,指定某个属性的默认值。

第一个xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 汽车 SYSTEM "CarDTD.dtd">
<汽车>
<品牌>宝马</品牌>
<车主>张三</车主>
<保险公司>国际保险有限公司</保险公司>
<银行贷款>
<国内银行>建设银行</国内银行>
</银行贷款>
<维修地点>北京</维修地点>
</汽车>

注意:在xml中空格将被编译器编译所以我们在写xml时就不能使用缩进是代码好看的“好习惯”了。为了方便我在此缩进了。

第一行是写xml文档时必须的语句,version 表示xml版本,encoding 表示编码方式,还有一个 standalone 可以表示此xml文档是否是独立文档,独立就是在内部定义dtd约束,不独立表示引入外部dtd(我上面的xml文档是不独立的,所以有了第二条语句)。standalone 的取值是 yes 或no 。

第二行是引入外部dtd的约束,SYSTEM后是dtd的地址。

约束文件:CarDTD.dtd

<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT 汽车 (品牌,车主,保险公司,银行贷款,维修地点)>
<!ELEMENT 品牌 (#PCDATA)>
<!ELEMENT 车主 (#PCDATA)>

<!ELEMENT 保险公司 (#PCDATA)>

<!ELEMENT 银行贷款 (国内银行 | 国外银行)>
<!ELEMENT 国内银行 (#PCDATA)>
<!ELEMENT 国外银行 (#PCDATA)>
<!ELEMENT 维修地点 (#PCDATA)>

在 DTD 中,XML 元素通过元素声明来进行声明,语法:<!ELEMENT 元素名称 类别>,或者<!ELEMENT 元素名称 (元素内容)>

<!ELEMENT 汽车 (品牌,车主,保险公司,银行贷款,维修地点)>这句声明汽车元素中还有 品牌,车主,保险公司,银行贷款,维修地点子元素。

(#PCDATA) 表示数据时字符型数据。

dtd中的数据类型:



<!ELEMENT 银行贷款 (国内银行 | 国外银行)>  这句表示:银行贷款必须是 国内银行 或 国外银行两者中的一个值。也就是互斥关系。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值