XML基本概念 语法

1.什么是xml
XML:eXtensible Markup Language,可扩展标记语言。
可扩展是什么意思?
可以自己定义标签。
在这里插入图片描述
XML 指可扩展标记语言,是独立于软件和硬件的信息传输工具。
XML 是一种标记语言,很类似 HTML。
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准。
2.xml的作用
两个大的方面:
保存
交换(传输)
保存数据可以体现在两个方面:
配置文件,qq、迅雷、feiq
小型的数据库
交换数据的层面,体现在两个方面:
Ajax:Asynchronous JavaScript and xml,异步的js和xml,现在都喜欢json
Web service:web 服务 (xml最擅长的地方)
还有一个新的应用,svg
Svg,可伸缩的矢量图形

XML结构
简单的给一个demo,如下:
在这里插入图片描述
首先,每个xml文档,都有一个声明。
整个xml,是树形结构,有且仅有一个根节点(非常重要)。
在这个树形结构中,有三种节点,元素节点+属性节点+文本节点
在这里插入图片描述
XML语法
1xml的语法总则
它必须以 XML 声明开头
它必须拥有唯一的根元素
开始标签必须与结束标签相匹配
元素对大小写敏感,严格区分大小写
所有的元素都必须关闭,注意单标签
所有的元素都必须正确地嵌套
必须对特殊字符使用实体
2.文档声明
在这里插入图片描述
version:版本号,目前推荐是1.0
encoding:编码,字符集,建议使用utf-8
standalone:是否呼叫外部的dtd文件,默认是no。

唯一,需要注意的是字符集,如果有乱码,肯定字符集设置不对的。保证你声明的字符集和文件本身保存的字符集的一致。
3.命名规则
由于我们的xml中,所有的标签都需要自己来定义
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
可使用任何名称,没有保留的字词。
建议,使用php的命名方式,尽量使用数字、字母、下划线的组合。
Xml支持中文。(但一般不用)
注意事项
避免 “-” 字符。如:“first-name”,一些软件会认为你需要提取第一个单词。
避免 “.” 字符。如:“first.name”,一些软件会认为 “name” 是对象 “first” 的属性。
避免 “:” 字符。冒号会被转换为命名空间来使用。

在我们的xml中,主要是三种节点:元素节点,属性节点,文本节点
4.定义元素
类似于xhtml中的标签。
<元素名>内容</元素名>
5.定义属性
属性,它是依赖于元素而存在的,寄生虫。不能独立的存在。
在元素的开始标记中来定义的,通常是用来表附加信息的。

<file type="gif">computer.gif</file>

注意事项
属性值必须被引号包围,不过单引号和双引号均可使用。
一个元素可以有多个属性
元素中的属性是不允许重复的
标签属性所代表的信息也可以被改成用子元素的形式来描述
在这里插入图片描述
共同点:都可以表示当前元素的信息
不同点:

因使用属性而引起的一些问题:
属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护
请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。
经验:设计表的时候,有一个主键,主键是和具体的业务逻辑是无关的。

userid  username  password
1       jordan    111
2       beckham  222

在定义元素的时候,可以和表设计做一个对比。

6.实体引用
Xml中,有文本节点,输出字符串。
有5个预定义的实体
在这里插入图片描述
实际上,在5个当中,只有 < 和 &,会引起错误。
思考:如果一个数据中,多次出现需要被实体引用的字符,PHP 和XML < < < < > > > > &&&&,该怎办办? <![CDATA[ 数据 ]]>
在这里插入图片描述
注意,CDATA节的写法:不要写错,不要脱节,不要嵌套。
练习
编写xml文档,将如下所示user数据用XML方式来保存
在这里插入图片描述
目的的保存,不用关心是如何显示的。
最终编写如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37171379/article/details/88424259