- PHP教程
- PHP-主页
- PHP - 简介
- PHP-环境设置
- PHP - 语法概述
- PHP - 变量类型
- PHP - 常量
- PHP - 运算符类型
- PHP - 决策
- PHP - 循环类型
- PHP-数组
- PHP-字符串
- PHP - 网络概念
- PHP - 获取和发布
- PHP - 文件包含
- PHP - 文件和 I/O
- PHP - 函数
- PHP-Cookie
- PHP-会话
- PHP - 发送电子邮件
- PHP-文件上传
- PHP - 编码标准
- 高级PHP
- PHP - 预定义变量
- PHP-正则表达式
- PHP - 错误处理
- PHP - 错误调试
- PHP - 日期和时间
- PHP 和 MySQL
- PHP 和 AJAX
- PHP 和 XML
- PHP——面向对象
- PHP - 面向 C 开发人员
- PHP - 适合 PERL 开发人员
- PHP 表单示例
- PHP-表单介绍
- PHP - 验证示例
- PHP - 完整表格
- PHP框架作品
- PHP-框架工程
- PHP - 核心 PHP 与 Frame Works
- PHP 设计模式
- PHP - 设计模式
- PHP 函数参考
- PHP - 内置函数
- PHP 有用资源
- PHP - 问题与解答
- PHP - 有用的资源
- PHP - 讨论
PHP 和 XML
XML 是一种标记语言,看起来很像 HTML。XML 文档是纯文本,包含由 < 和 > 分隔的标签。XML 和 HTML 之间有两大区别 -
- XML 没有定义您必须使用的一组特定标记。
- XML 对文档结构非常挑剔。
XML 比 HTML 给您更多的自由。HTML 有一组特定的标签:<a></a> 标签包围着链接,<p> 开始段落等等。然而,XML 文档可以使用您想要的任何标签。在电影分级周围放置 < rating></ rating> 标签,在某人的身高周围放置 <height></height> 标签。因此,XML 使您可以选择设置自己的标签。
XML 在文档结构方面非常严格。HTML 允许您使用一些开始和结束标签快速而宽松地进行操作。但 XML 的情况并非如此。
HTML 列表不是有效的 XML
<ul> <li>Braised Sea Cucumber <li>Baked Giblets with Salt <li>Abalone with Marrow and Duck Feet </ul>
这不是有效的 XML 文档,因为没有结束 </li> 标记与三个开始 <li> 标记相匹配。XML 文档中的每个打开的标签都必须关闭。
有效 XML 的 HTML 列表
<ul> <li>Braised Sea Cucumber</li> <li>Baked Giblets with Salt</li> <li>Abalone with Marrow and Duck Feet</li> </ul>
解析 XML 文档
PHP 5 的新SimpleXML模块使解析 XML 文档变得非常简单。它将 XML 文档转换为提供对 XML 的结构化访问的对象。
要从存储在字符串中的 XML 文档创建 SimpleXML 对象,请将字符串传递给simplexml_load_string( )。它返回一个 SimpleXML 对象。
例子
尝试以下示例 -
<html> <body> <?php $note=<<<XML <note> <to>Gopal K Verma</to> <from>Sairamkrishna</from> <heading>Project submission</heading> <body>Please see clearly </body> </note> XML; $xml=simplexml_load_string($note); print_r($xml); ?> </body> </html>
它将产生以下结果 -
注意-如果文件中有 XML 内容,则可以使用函数simplexml_load_file( filename) 。
有关 XML 解析函数的完整详细信息,请参阅PHP 函数参考。
生成 XML 文档
SimpleXML 非常适合解析现有的 XML 文档,但您不能使用它从头开始创建新文档。
生成 XML 文档的最简单方法是构建一个 PHP 数组,其结构反映 XML 文档的结构,然后迭代该数组,以适当的格式打印每个元素。
例子
尝试以下示例 -
<?php $channel = array('title' => "What's For Dinner", 'link' => 'http://menu.example.com/', 'description' => 'Choose what to eat tonight.'); print "<channel>\n"; foreach ($channel as $element => $content) { print " <$element>"; print htmlentities($content); print "</$element>\n"; } print "</channel>"; ?>
它将产生以下结果 -
http://menu.example.com/ Choose what to eat tonight.