xml技术基础

时间:2022-04-05 04:32:27

HTML语言
缺点 :  1.标签规定好,用户不能自定义
    2.标签显示样式和数据绑定在一起,数据不可复用
           3.html标签没有任何含义

XML语言(Extensible Markup Language)可扩展标记语言

  设计宗旨:传输数据,而不是显示数据,但也可以像html那样显示(使用 PI处理指令)
用途:
  1.程序之间数据通讯的标准(ajax中用到,xml,文本,json)
  2.xml可以做配置文件使用(连接数据库等,php中经常用到)
  3.xml可充当小型数据库
优势:直接操作文件比操作数据库更快
一些经常要人工配置的数据,如果放入数据库读取不合适(增加数据库的维护工作),则可以直接用xml做小型数据库,直接读取文件显然比读取数据库快(比如msn中保存聊天记录就是用xml文件)

特点:描述关系数据

语法:
XML文件
  1.文档说明
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
注意: 文本编辑保存也为utf-8格式
        XML声明放在XML文件的第一行
version 文档规范
encoding 文档字符编码
standalone 文档定义是否独立使用 yes no默认
      2.元素
即标签:所有标签必须(开始和结束)成对出现
  若不含内容可简写为 <a></a> <a/> 自闭合单标签
  标签不可交叉嵌套 <a><b></a></b>
  XML文档必须有一个根元素(根元素--一个完全包括文档中其他所有元素的元素)
  对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容(一个字符)进行处理

<stu>小明</stu>
<stu>
小明
</stu>
两个意义不一样,PHP在解析XML时都会当作标签内容(一个字符)进行处理
命名规范:
  XML元素可以包含字母数字等,不能以数字或_下划线开头
  区分大小写        <age>25</Age> 非法
  不能以xml开头
  不能包含空格     < name>或<na me> 都非法
  名称之间不能包含冒号(:)
属性
  <stu no="num01">  属性值用双引号或单引号分隔
如果属性值中包含单引号或双引号 可使用xml中5个预定义实体引用
  &lt;     <   小于
  &gt;    >   大于
  &amp;   &   和号
  &apos;   '    单引号
  &quot;   "    双引号
<student id="num&quot;&apos;01">效果<stu no="num"'01">
一个元素可以由多个属性
  特定的属性名称在同一个元素标记中只能出现一次(不能在同一个标签中定义相同的属性名)
  属性值不能包括<,>,& 若有可使用实体
注释
  格式 <!--注释内容-->
1.注释内容中不要出现 --
2.不要把注释放在标记中间 <name<!--注释-->>Tom</name>
3.注释不能嵌套
4.可以在标记(标签)外的任何地方放注释
CDATA节
  背景:有些内容不想让解析引擎解析执行,而当作原始内容处理,把整段文本解释为纯数字数据而不是标记的情况
包含大量< > & ' "" 等字符。可使用CDATA
  html文件传输二进制数据(小的图片)都是特殊字符
CDATA节中的所有字符都会当作元素字符数据的常量原样输出。
语法:
  <![CDATA[
        内容...
  ]]>
  不能嵌套
处理指令(processing instrution) 了解
  像html一样处理显示,但xml最重要是作为数据

<?xml version="1.0" encoding="utf-8"?>
<!--xml也可以使用css来修饰使用pi-->
<?xml-stylesheet-type="text/css" href="class.css"?>
<!--使用css后就会按css样式修饰显示内容-->
<class>
<student id="num"'">
<name><!--优秀学生-->
杜杰
</name>
<sex>boy
</sex>28
<age>
</age>
</student>
</class>

  

XML文档格式规范
  1.XML声明语句 <?xml version="1.0" encoding="utf-8"?>
  2.必须有且只有一个根元素
  3.标记大小写敏感
  4.属性值用引号
  5.标记成对出现
  6.空标记关闭
  7.元素正确嵌套