当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP SimpleXMLElement::__construct()用法及代码示例


前提条件: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



相关用法


注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | SimpleXMLElement::__construct() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。