當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。