前提条件:XML
__construct()函数是PHP中的内置函数,用于为XML创建新的SimpleXMLElement对象。
用法:
SimpleXMLElement::__construct( $data, $options, $data_is_url, $namespace, $is_prefix )
参数:该函数接受上述和以下所述的五个参数:
- $data:它是必填参数。如果$data_is_url为TRUE,它将指定格式正确的XML字符串或XML文档文件的路径或URL。
- $options:它是可选参数。它指定其他Libxml参数。通过指定选项和1或0进行设置
- $data_is_url:它是可选参数。其默认值为False。如果此参数的值为True,则它指定数据是XML文档文件的路径/URL,而不是字符串。
- $namespace:它是可选参数。它指定名称空间URI或前缀。
- $is_prefix:它是布尔类型的可选参数。如果ns是前缀,则指定True;如果ns是URI,则指定False。默认值为False。
返回值:它返回一个表示XML结构化数据的SimpleXMLElement对象。
注意:此函数适用于PHP 5.0.1和更高版本。
例
<?php
// Loading XML document to $user
$user = <<<XML
<user>
<username> user123 </username>
<name> firstname lastname </name>
<phone> +91-XXXXXXXXXX </phone>
<detail> I am John Doe. Live in Kolkata, India. </detail>
</user>
XML;
// Creating new SimpleXMLElement
// object from $user
$xml = new SimpleXMLElement($user);
// Printing as XML
echo $xml->asXML();
?>
输出:
user123 firstname lastname +91-XXXXXXXXXX I am John Doe. Live in Kolkata, India.
在浏览器中作为源输出:
例:从文件或URL加载XML文档。
sample.xml
<?xml version="1.0"?>
<user>
<username> user123 </username>
<name> firstname lastname </name>
<phone> +XX-XXXXXXXXXX</phone>
<detail> I am John Doe. Live in Kolkata, India. </detail>
</user>
index.php
<?php
// Loading XML document from sample.xml to $user
// and creating new SimpleXMLElement object
$xml = new SimpleXMLElement("sample.xml", 0, TRUE);
// Printing data as xml document
echo $xml->asXML();
?>
输出:
user123 firstname lastname +91-XXXXXXXXXX I am John Doe. Live in Kolkata, India.
在浏览器中作为源输出:
参数$option的可能值为:
- LIBXML_COMPACT-激活节点分配优化
- LIBXML_DTDATTR-此选项设置默认的DTD属性
- LIBXML_DTDLOAD-从外部加载子集
- LIBXML_DTDVALID-使用DTD验证xml文档
- LIBXML_DOTTED_VERSION-分离得到的libxml版本点
- LIBXML_ERR_ERROR-获取错误(可恢复)
- LIBXML_ERR_FATAL-获取错误(致命)
- LIBXML_ERR_NONE-没有错误
- LIBXML_ERR_WARNING-获取警告(简单)
- LIBXML_NOBLANKS-删除XML文档中的所有空白节点
- LIBXML_NOCDATA-将新的CDATA合并为文本节点
- LIBXML_NOEMPTYTAG-展开空标签
- LIBXML_NOENT-替换XML文档中的实体
- LIBXML_NOERROR-限制错误报告
- LIBXML_NONET-加载XML文档时禁用网络访问
- LIBXML_NOWARNING-限制警告报告
- LIBXML_NOXMLDECL-保存文档时删除XML声明
- LIBXML_NSCLEAN-删除所有冗余的名称空间声明
- LIBXML_PARSEHUGE-设置XML_PARSE_HUGE标志,该标志从解析器中删除所有硬编码的限制,这又会影响限制,例如文本节点的大小和文档的最大深度
- LIBXML_XINCLUDE-替代工具XInclude
- LIBXML_VERSION-以整数格式获取LIBXML版本
参考: https://www.php.net/manual/en/simplexmlelement.construct.php
相关用法
- PHP exp()用法及代码示例
- d3.js d3.lab()用法及代码示例
- PHP Ds\Map put()用法及代码示例
- d3.js d3.hcl()用法及代码示例
- PHP sin( )用法及代码示例
- PHP abs()用法及代码示例
- PHP Ds\Set xor()用法及代码示例
- PHP cos( )用法及代码示例
- PHP tan( )用法及代码示例
- d3.js d3.map.set()用法及代码示例
- PHP next()用法及代码示例
- PHP Ds\Map get()用法及代码示例
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | SimpleXMLElement::__construct() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。