【笔记】XML数据传输格式_黑马程序员课程
课程来源:XML教学视频_黑马程序员_B站
总结:认识XML-PHP解析XML(解析的方式方法)
1.XML概述
1.1引入
XML长成什么样子:不是HTML,但是和HTML有些像
天气预报的XML文档
XML数据格式
XML是一种跨平台的,与软、硬件无关的,处理与传输信息的工具。
- 最主要的功能就是数据传输:如由一个服务器到另外一个服务器,由一个网站到另外一个网站
- XML数据格式主要的用途又有哪些?
(1)程序之间的数据传输通讯:Java语言→快递100→PHP语言
(2)配置文件config.xml→php语言、java语言、Python语言(写一份配置文件提供给各种语言使用)(有些比较复杂的网站用到的语言比较多)
(3)存储数据,充当小型数据库data.xml,如存放网站的备案号
规范数据格式,使数据具有结构性,易读易处理
虽然我们知道了这是XML,也知道用来做什么,但是,我们还是不会使用
知己知彼,百战不殆,想要更好的使用XML,我们需要对XML做一个彻底的了解
1.2什么是XML
XML=可扩展性标记语言eXtensible Markup Language
- 用来传输和存储数据,而不是展示数据
- 标签必须自定义,但是在写标签名时一定要有含义
- XML是W3C推举的数据传输格式
HTML=超文本标记语言(展示数据;标签无法自定义)
自定义后的标签浏览器识别不了
如何自己写一段XML:
- 文件名后缀:XML
- 所有的XML文件必须要有一个根节点/根标签**
<root>
<user>西岭</user>
<msg>超级大帅哥</msg>
</root>
什么样的情况是对的?

或者这样也是对的

XML和HTML区别
html与xml的区别与联系(笔记)
| 区别项 | XML | HTML |
|---|---|---|
| 标签 | 只能自定义 | 不能自定义 |
| 语法要求 | 语言要求极其严格,必须是成对标签 | 语法要求不严格 |
| 功能 | 传输和存储数据 | 展示数据 |
2.XML的基本语法
2.1语法规则
XML必须有根节点:根节点就是其他所有节点的父级节点
比较常用的根节点命名root,本课程中根节点就是root
<root>
<shuibian>……</shuibian>
<xie>……</xie>
</root>
XML头声明:不强制要求,可有可无,但是建议写(编码)
vesion版本号
<?xml version="1.0" encoding="utf-8" ?>
<root>
<shuibian>……</shuibian>
<xie>……</xie>
</root>
所有XML元素都必须是成对标签
<a>和</a>
标签名大小写敏感(区分大小写)
<a>和</A>
标签不能交叉
<a>TEST<b>TEST</a>day</b>
XML中怎么注释?和HTML中的注释是一样
<!-- 需要注释的内容 -->
如果遇到特殊字符,如<等需要使用实体转义
<msg>如果46 < 47,那么请求证,XXX?</msg>
需要转化成
<msg>如果46 < 47,那么请求证,XXX?</msg>
在XML中需要转义的字符有:

2.2元素属性
例子:比如img 标签,必须要有 src属性 。
<img src="">
img 标签,本身的目的:就是个图片标签 。
src 属性的作用是:告诉你要展示的图片在哪里
<?xml vesion="1.0" encoding="utf-8" ?>
<root>
<man>
<name>张三</name>
<age>36</age>
</man>
<man>
<name age="38">李四</name>
</man>
</root>
一个标签可以有多个属性,属性的值必须使用引号分隔开
命名规则:数字字母下划线,数字不能开头
属性:表示标签自身的一些额外信息
XML中属性就是一个鸡肋(食之无肉,弃之可惜)
还有,在解析XML数据时,属性会带来额外的解析代码(多了一步)
2.3CDATA
<!--<![CDATA[……不能解析的内容]]> -->
不需要再做实体转义
注意:特殊字符较少时,使用实体替换,较多时使用CDATA
CDATA必须大写
3.使用PHP解析XML
XML是一种数据传输格式,当PHP接收到的数据就是一段XML的时候,我们的PHP应该怎么处理XML数据呢?
在PHP5版本以后,其提供了一个非常非常强大的类库,SimpleXML类库,专门用于实现XML文档的解析操作。
3.1XML解析原理&3.2SimpleXML类库
XML文件实例3.1.xml
<?xml vesion="1.0" encoding="utf-8" ?>
<root>
<man>
<name>张三</name>
<age>36</age>
</man>
<man>
<name>李四</name>
<age>38</age>
</man>
</root>
<?php
// simplexml_load_file 解析XML文档,返回PHP对象
$x = simplexml_load_file('3.1.xml')
//打印X
var_dump($x);
//返回张三
echo $x ->man[0]->name;
如何解析(DOM树)


PHP解析XML共分为3步:
- 读取XML文档到内存
- 形成DOM树
- 由DOM树生成对象并返回

3.3遍历XML数据
有些偏PHP的知识

3.4添加节点

3.5案例



案例


4.Xpath语言
4.1概览
什么是XPath:一门专门用来查找XML数据内容的一门语言
用来在XML文档中对元素及属性进行遍历
4.2使用及语法
绝对引用和相对引用
使用





浙公网安备 33010602011771号