XML详解

2023-03-04 13:07:42 浏览数 (2)

文章目录

    • 1、XML概述
      • 1.1、什么是XML
      • 1.2、XML和HTML的区别
    • 2、XML基本语法
      • 2.1、XML语法规则
      • 2.2、书写注意点
      • 2.3、属性
      • 2.4、CDATA
    • 3、PHP解析XML原理
    • 4、XPath语言

1、XML概述

1.1、什么是XML

  • XML即可扩展性标记语言
  • XML的目的传输存储数据,不是展示数据
  • XML的标签必须自定义,没有官方标签,但是自定义标签要遵循一定规则。
  • XML是W3C推举的数据传输格式。

很多配置文件都是XML写的。

1.2、XML和HTML的区别

  • HTML的标签不能自定义,XML标签必须自定义
  • HTML用来展示数据,XML用来传输和存储数据

2、XML基本语法

2.1、XML语法规则

  • 必须有根节点,所有XML标签写在根标签内,根标签也是自定义。
  • XML的头声明可以不写,但是建议写上。<?xml version="xml版本号" encoding="编码格式" ?>
  • 所有XML标签都必须成对出现。
  • 标签名区分大小写。

2.2、书写注意点

  • 注释和HTML一样
  • 特殊字符需要转义为实体

需要转义的字符如下:

特殊字符

实体

<

&lt;

>

&gt;

&

&amp;

’ 单引号

&apos;

" 双引号

&quot;

2.3、属性

  • 属性就是描述标签的额外信息。
  • 一个标签可以有多个属性。
  • 命名规则:属性可以是:数字、字母、下划线,但是不能一数字开头。
  • 属性值必须用引号包裹。
  • 属性基本不怎么使用
  • 在解析XML数据时,属性会带来额外的解析代码。

示例:

代码语言:javascript复制
<root>
	<user sex="man"> 人</user>
</root>

sex就是user标签的属性

2.4、CDATA

  • 当我们有些数据不需要被XML解析,希望原文传输,或者特殊字符太多懒得使用实体,的时候就要用到CDATA。
  • 语法格式:<![CDATA[ 不解析的内容 ]]>
  • 注意:CDATA在标签内使用,且必须大写。
  • 示例:<ifo><![CDATA[ 如果1>2>3>4<5<8<0... ]]></ifo>

3、PHP解析XML原理

PHP用面向对象的思维来解析数据,通过key来获取value。

解析步骤又三大步:

  1. 读取XML到内存。
  2. 形成DOM数。
  3. 由DOM数生成对象并返回。
  • 将根节点解析为一个大对象,
  • 将所有同名标签放在一个数数组里,
  • 每一个标签又对应一个对象,通过对象属性来获取值。

4、XPath语言

  • XPath:是一门专门用来查找XML数据内容的一门语言。
  • 用来在XML文档中对元素及属性进行遍历。
  • 语法:https://www.runoob.com/xpath/xpath-syntax.html

0 人点赞