PHP 教程

PHP 7 新特性

PHP simplexml_load_string() 函数

PHP SimpleXML 参考手册 PHP SimpleXML 参考手册

实例

转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元素:

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
</note>
XML;

 $xml=simplexml_load_string($note);
print_r($xml);
?>
运行实例 »

定义和用法

simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。

语法

simplexml_load_string(data,classname,options,ns,is_prefix);
参数描述
data必需。规定形式良好的 XML 字符串。
classname可选。规定新对象的 class。
options可选。规定附加的 Libxml 参数。通过指定选项为 1 或 0(TRUE 或 FALSE,例如 LIBXML_NOBLANKS(1))进行设置。

可能的值:

  • LIBXML_COMPACT - 激活节点的优化配置(可加速应用程序)

  • LIBXML_DTDATTR - 设置默认的 DTD 属性

  • LIBXML_DTDLOAD - 装载额外的子集

  • LIBXML_DTDVALID - 验证 DTD 有效性

  • LIBXML_NOBLANKS - 删除空节点

  • LIBXML_NOCDATA - 将 CDATA 设置为文本节点

  • LIBXML_NOEMPTYTAG - 扩展空标签(例如 <br/> 到 <br></br>),仅在 DOMDocument->save() 和 DOMDocument->saveXML() 函数中有效

  • LIBXML_NOENT - 替代实体

  • LIBXML_NOERROR - 不显示错误报告

  • LIBXML_NONET - 装载文档时停止访问网络

  • LIBXML_NOWARNING - 不显示警告报告

  • LIBXML_NOXMLDECL - 当存储一个文档时放弃 XML 声明

  • LIBXML_NSCLEAN - 删除多余的名称空间声明

  • LIBXML_PARSEHUGE - 设置 XML_PARSE_HUGE 标志,用来放宽解析器的任何强制限制。这将影响诸如文档的最大深度和文本节点大小限制等。

  • LIBXML_XINCLUDE - 使用 XInclude 替代

  • LIBXML_ERR_ERROR - 获取可纠正的错误

  • LIBXML_ERR_FATAL - 获取致命错误

  • LIBXML_ERR_NONE - 不获取错误

  • LIBXML_ERR_WARNING - 获取简单警告

  • LIBXML_VERSION - 获取 libxml 版本(例如 20605 或 20617)

  • LIBXML_DOTTED_VERSION - 获取带点的 libxml 版本(例如 2.6.5 或 2.6.17)

ns可选。规定命名空间前缀或 URI。
is_prefix可选。规定一个布尔值。如果 ns 是前缀则为 TRUE,如果 ns 是 URI 则为 FALSE。默认是 FALSE。

技术细节

返回值:如果成功则返回 SimpleXMLElement 对象,如果失败则返回 FALSE。
PHP 版本:5+

更多实例

实例 1

输出 XML 字符串中每个元素的数据:

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
</note>
XML;

 $xml=simplexml_load_string($note);
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
 ?>
运行实例 »

实例 2

输出 XML 字符串中每个子节点的元素名称和数据:

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
</note>
XML;

 $xml=simplexml_load_string($note);
echo $xml->getName() . "<br>";

 foreach($xml->children() as $child)
 {
 echo $child->getName() . ": " . $child . "<br>";
 }
?>
运行实例 »

PHP SimpleXML 参考手册 PHP SimpleXML 参考手册

新闻动态 联系方式 广告合作 招聘英才 安科实验室 帮助与反馈 About Us

Copyright © 2013 - 2019 Ancii.com All Rights Reserved京ICP备18063983号-5 京公网安备11010802014868号