09- XML 语法基础与解析技术

XML 技术

XML 的概念

可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

XML 和 HTML的关系

联系:
     1、从外观上看,名字里都有一个“ML”,就是标记语言的意思,这不得不说是一个相似点吧?
     不错,它们在名字上相似,在结构上也非常像,事实上XML是对HTML的补充。
     2、转换:为了更好地适应client浏览器的浏览,能够在server端进行XML->HTML的转换,但普通静态控件不支持这样的转换,能够选择支持XMLDOM的ASP或PHPserver进行。
     3、操作性:它们自身都不进行操作,XML描写叙述数据,HTML显示。
    
差别:
     1、目的:XML是用来描写叙述、传输和存储数据的,即,关于什么是数据及怎样存放的问题,焦点在数据的内容;
         HTML是用来显示数据的,即,关于怎样显示及较好地显示的问题,焦点在数据的外观。
     2、语法:完整性方面,XML要求全部标记都要成对出现,HTML显然不是,比方img、input等,能够无结束标签;
         大写和小写方面,HTML不区分大写和小写,而XML严格区分。
     3、自主性:即能否够自定义。XML标记由架构或文档作者自定义,没有什么限制;HTML则不行,仅仅能用提前定义的,即head、body等。

xml 文档结构

声明 + 根标签 (子标签)

有且仅有有一个根标签

<?xml version="1.0" encoding="UTF-8" ?>
<books>
    <book>
        <author></author>
        <title></title>
        <description></description>
    </book>
    <book>
        <author></author>
        <title></title>
        <description></description>
    </book>
</books>

标签可以自定义添加

书中 有 作者, 标题, 描述, 页数, 出版社, 出版日期, 价格

自定义案例

描述一个人的午餐需求

<?xml version="1.0" encoding="UTF-8" ?>
<午餐>
    <主食>意大利面</主食>
    <菜品>
        <菜品1>法式焗蜗牛</菜品1>
        <菜品2>法国鹅肝</菜品2>
        <菜品3>顶配鱼子酱</菜品3>
        <菜品4>神户雪花牛肉</菜品4>
    </菜品>
    <汤>松茸南瓜汤</汤>
    <甜点>提拉米苏</甜点>
</午餐>

标签语法标准

标签元素

属性

标签组成 <标签名 属性= “值”>内容</标签名>

语法要求

标签名  必须使用<></>  必须成对出现 (有开始有结束)
标签名 大小写敏感(区分大小写)
元素名称不能以数字或者标点符号开始 也不能包含空格或冒号
XML 不能交叉嵌套
属性	属性值需要使用 双引号 包裹
	一个元素可以有多个属性
	属性值不能包含特殊字符(  <  "  & )

软性要求

良好的缩进习惯

特殊字符

符号 表示方式
< &lt(?
> &gt
& &amp
" &quot
&apos

衣服尺码案例

<?xml version="1.0" encoding="UTF-8" ?>
<size>
    <S>身高&lt;165</S>
    <M>165&lt;身高&lt;170</M>
    <L>170&lt;身高&lt;175</L>
    <XL>175&lt;身高&lt;180</XL>
    <XXL>180&lt;身高&lt;185</XXL>
</size>

注释

<!-- 注释内容 -->

xml优势

  • 数据存储 (保存衣服尺码, 学生分数, 书籍信息)
  • 数据交换
  • 数据配置 (因为可以保存各种格式的信息, 很多软件使用xml 保存软件的配置信息)

命名空间

在XML 中 用作元素或属性名称的名称集合, 用来标识来自特定域的名称

问题 小米 是什么意思
    小米是一种粮食
    小米是一款手机
问题 table 是什么意思
	一张桌子
	一张表格
同一个词在不同的场景下有不同的含义
我们为了区分不同的场景, 引入了命名空间
	地里面长出来的小米 是什么意思
	科技公司小米公司中的小米 是什么意思
	英语单词中 table 是什么意思
	HTML 语言中 table 是什么意思

必要性

XML 解析器在解析XML 文档的时候, 对于重名的元素, 可能出现解析冲突, 命名空间有助于标准化元素和属性, 为它们添加唯一的标识

声明语法

ns namespace

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值