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