XML

 

什么是XML

Extensible Markup Language,翻译过来为可扩展标记语言。Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范。 

可扩展标记语言XMLSGML的子集,其目标是允许普通的SGMLWeb上以目前HTML的方式被服务、接受和处理。XML被设计成易于实现,且可在SGMLHTML之间互相操作(W3C XML工作组对XML的定义)。

 

XML技术用于解决什么问题?

XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。

XML语言中,它允许用户自定义标签。

一个标签用于描述一段数据;

一个标签可分为开始标签和结束标签,

在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。

 

XML常见应用

XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。

在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定

例如一个软件在启动时,它需要启动A、B两个模块,而A、B这两个模块在启动时,又分别需要A1A2B1B2模块的支持,为了准确描述这种关系,此时使用XML文件最为合适不过。

XML 文档规则

XML文档的分类

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

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

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

 

XML语法

一个XML文件分为如下几部分内容:

文档声明 

元素

属性

注释  

CDATA区 、特殊字符 

处理指令(processing instruction) 

 

XML语法-文档声明

在编写XML文档时,需要先使用文档声明,声明XML文档的类型。

最简单的声明语法:

<?xml version="1.0" ?>

encoding属性说明文档的字符编码:

<?xml version="1.0" encoding="GB2312" ?>  

standalone属性说明文档是否独立:

<?xml version="1.0" encoding="GB2312"  standalone="yes" ?>

常见错误,见PPT下面的备注区

 

属性

一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:

<input name=“text”>

属性值一定要用双引号(")或单引号(')引起来

定义属性必须遵循与标签相同的命名规范 

多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:

<input>

  <name>text</name>

</input>

 

注释

Xml文件中的注释采用:“<!--注释-->” 格式。

注意:

XML声明之前不能有注释

注释不能嵌套,例如:

<!--大段注释

……

<!--局部注释-->

……

--> 

 

CDATA

在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。

遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。

语法:<![CDATA[ 内容 ]]>

<![CDATA[

<csdn>

<br/>

</csdn>

]]>

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

在 XML 元素中,"<" 和 "&" 是非法的。

"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。

"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。

某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值