你知道什么是XML Expat吗?他又是怎样定义的呢?
时间:2021-06-08
来源:互联网
标签:
今天PHP爱好者给大家带来上篇文章给大家介绍了《如何用PHP MySQL 进行数据连接?》,本文继续给大家介绍关于PHP XML Expat,不知道你们对于XML感不感兴趣嘞?那就一起出发看看吧!!!

什么是XML:
XML 用于描述数据,其焦点是数据是什么。XML 文件描述了数据的结构。PHP XML EXPAT。
在XML中,没有预定义的标签,必须定义自己的标签。
Expat 是什么?
如需读取和更新 - 创建和处理 - 一个 XML 文档,用户需要 XML 解析器。
有两种基本的 XML 解析器类型:
基于树的解析器:这种解析器把 XML 文档转换为树型结构。它分析整篇文档,并提供了对树中元素的访问,例如文档对象模型 (DOM)。
基于事件的解析器:将 XML 文档视为一系列的事件。当某个具体的事件发生时,解析器会调用函数来处理。
Expat 解析器是基于事件的解析器。
基于事件的解析器集中在 XML 文档的内容,而不是它们的结构。正因为如此,基于事件的解析器能够比基于树的解析器更快地访问数据。
请看下面的 XML 片段:
<from>Jani</from>
开始元素:from
开始 CDATA 部分,值:Jani
关闭元素:from
上面的 XML 实例包含了形式良好的 XML。不过这个实例是无效的 XML,因为没有与它关联的文档类型声明 (DTD)。
然而,在使用 Expat 解析器时,这没有区别。Expat 是不检查有效性的解析器,忽略任何 DTD。
作为一款基于事件、非验证的 XML 解析器,Expat 快速且轻巧,十分适合 PHP 的 Web 应用程序。
注释:XML 文档必须形式良好,否则 Expat 会生成错误。
安装:
XML Expat 解析器函数是 PHP 核心的组成部分。无需安装就可以使用这些函数。
XML 文件
下面的 XML 文件将应用在我们的实例中:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
初始化 XML 解析器
我们要在 PHP 中初始化 XML 解析器,为不同的 XML 事件定义处理器,然后解析这个 XML 文件。
具体代码如下:
<?php
//Initialize the XML parser
$parser=xml_parser_create();
//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
{
switch($element_name)
{
case "NOTE":
echo "-- Note --<br>";
break;
case "TO":
echo "To: ";
break;
case "FROM":
echo "From: ";
break;
case "HEADING":
echo "Heading: ";
break;
case "BODY":
echo "Message: ";
}
}
//Function to use at the end of an element
function stop($parser,$element_name)
{
echo "<br>";
}
//Function to use when finding character data
function char($parser,$data)
{
echo $data;
}
//Specify element handler
xml_set_element_handler($parser,"start","stop");
//Specify data handler
xml_set_character_data_handler($parser,"char");
//Open XML file
$fp=fopen("test.xml","r");
//Read data
while ($data=fread($fp,4096))
{
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
//Free the XML parser
xml_parser_free($parser);
?>
以上代码将输出:

以上就是你知道什么是XML Expat吗?他又是怎样定义的呢?的详细内容,更多请关注php爱好者其它相关文章!
-
Ext.MessageBox消息框使用详解 时间:2025-11-20 -
GAppProxy超详细安装配置教程 时间:2025-11-20 -
C#中e.Cancel用法详解 e.Cancel和e.Handled区别 时间:2025-11-20 -
TestDirector超详细下载、安装、配置教程 时间:2025-11-20 -
AssemblyInfo.cs文件详解(常见属性及作用等) 时间:2025-11-20 -
什么是无理数 常见的无理数有哪些 无理数和有理数的区别 时间:2025-11-19
今日更新
-
币圈行情实时查看网站_币圈十大实时行情查看网站推荐
阅读:18
-
bilibili浏览器网页版直达-bilibili浏览器网页版一键畅玩
阅读:18
-
学信网学籍在线验证报告查询入口-快速获取指南
阅读:18
-
Mail.ru官网登录入口 - mailru邮箱快速登录链接
阅读:18
-
数字货币行情网站大全_十大数字货币行情网站汇总
阅读:18
-
Meme币为何频繁归零 欧易解析背后风险与投资逻辑
阅读:18
-
山竹是什么梗揭秘网络热词背后的趣味含义和流行原因
阅读:18
-
杉菜梗是流星花园中杉菜倔强不服输的经典表情包,网友用来调侃倔强又可爱的自己。
阅读:18
-
今日头条官网登录-网页版快速登录入口
阅读:18
-
欧易合规路线解析长期主义如何打造可信交易平台
阅读:18










