PHP __construct() 函数

定义和用法

__construct() 函数用于创建新的 SimpleXMLElement 对象。

实例

例子 1

从字符串创建 SimpleXMLElement 对象:

<?php
$note=<<<XML
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Do not forget the meeting!</body>
</note>
XML;

$xml=new SimpleXMLElement($note);
echo $xml->asXML();
?>

运行实例

例子 2

假设我们有以下 XML 文件 "note.xml":

<?xml version="1.0" encoding="UTF-8"?>
<note>
    <to>George</to>
    <from>John</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>

从 URL 创建 SimpleXMLElement 对象:

<?php
$xml=new SimpleXMLElement("note.xml", 0, TRUE);
echo $xml->asXML();
?>

运行实例

语法

SimpleXMLElement::__construct(data, options, data_is_url, ns, is_prefix)
参数 描述
data

必需。指定格式良好的 XML 字符串。

如果 data_is_url 为 TRUE,则指定 XML 文档的路径或 URL。

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)
data_is_url

可选。TRUE 指定 data 是 XML 文档的路径/URL 而不是字符串数据。

默认为 FALSE。

ns 可选。指定命名空间前缀或 URI。
is_prefix

可选。指定布尔值。如果 ns 是前缀则为 TRUE,如果 ns 是 URI 则为 FALSE。

默认为 FALSE。

技术细节

返回值: 返回表示数据的 SimpleXMLElement 对象。
PHP 版本: 5.0+
PHP 更新日志:

PHP 5.2.0:添加了可选的 nsis_prefix 参数。

PHP 5.1.2:添加了可选的 optionsdata_is_url 参数。