PHP XML解析和生成
-
PHP XML示例
提示:如果您不知道什么是XML,可以学习我们的XML教程。
XML是一种看起来很像HTML的标记语言。XML文档是纯文本,包含由< 和 >分隔的标记XML和HTML之间有两个很大的区别- XML没有定义必须使用的特定标记集。
- XML对文档结构非常挑剔。
XML为您提供比HTML更多的自由。HTML有一组标记:<a>标记链接,<p>标记段落,等等。但是,XML文档可以使用您想要的任何标记。在文档结构方面,XML非常严格。HTML允许您使用一些开始和结束标记快速和松散地播放。但XML却不容许。例如下面HTML的<li>标签是合法,它不是合法的XML<ul> <li>咖啡 <li>茶水 <li>可乐 </ul>
XML要严格的闭合标签,下面这样才是有效的XML<ul> <li>咖啡<li> <li>茶水<li> <li>可乐<li> </ul>
-
PHP 解析XML
SimpleXML模块使解析XML文档变得简单。它将XML文档转换为提供对XML的结构化访问的对象。要从存储在字符串中的XML文档创建SimpleXML对象,请将该字符串传递给simplexml_load_string()
。它返回一个SimpleXML对象。试试下面的例子:
尝试一下<html> <body> <?php $note=<<<XML <note> <to>北京</to> <from>伦敦</from> <heading>项目子标题</heading> <body>查看例子</body> </note> XML; $xml=simplexml_load_string($note); print_r($xml); ?> </body> </html>
提示 - 如果文件中包含XML内容,则可以使用
simplexml_load_file(filename)
函数。有关XML解析函数的完整详细信息,请查看PHP函数参考。 -
PHP 生成XML文档
SimpleXML适用于解析现有XML文档,但您无法使用它从头开始创建新文档。生成XML文档的最简单方法是构建一个PHP数组,其结构与XML文档的结构相同,然后遍历数组,以适当的格式打印每个元素。试试下面的例子:<?php $channel = array( 'title' => "学习PHP", 'link' => 'https://cainiaoya.com/', 'description' => '免费Web学习教程.'); print "<?xml version=\"1.0\"?>\n"; print "<channel>\n"; foreach ($channel as $element => $content) { print " <$element>"; print htmlentities($content); print "</$element>\n"; } print "</channel>"; ?>
上面的代码输出界面如下所示:提示:浏览器在当前脚本输出,查看右键-->查看源代码才会出现如上图所示