有時需要在PHP中解析XML數據。有幾種方法可用於解析XML數據。 SimpleXML是其中之一。解析XML文檔意味著瀏覽XML文檔並返回相關信息。如今,一些API以JSON格式返回數據,但是仍然有大量網站以XML格式返回數據。因此,如果我們想品嘗可用的API,就必須精通解析XML文檔。
PHP SimpleXML是PHP 5.0中引入的。 PHP中的simplexml_load_string()函數用於將XML字符串解釋為對象。
句法:
simplexml_load_string($data, $classname, $options, $ns, $is_prefix);
參數:此函數接受五個參數,如上麵的語法所示。所有這些參數如下所述:
- $data:格式正確的XML字符串。
- $classname:新對象的類。
- $options:通過指定選項和1或0來設置其他Libxml參數。
- $ns:如果ns是前綴,則為TRUE。如果ns是URI,則為FALSE。默認為FALSE
- $is_prefix:如果ns是前綴,則為TRUE。如果ns是URI,則為FALSE。默認為FALSE
參數$options的可能值如下:
- LIBXML_COMPACT:激活節點分配優化。
- LIBXML_DTDATTR:設置默認的DTD屬性
- LIBXML_DTDLOAD:加載外部子集
- LIBXML_DTDVALID:使用DTD進行驗證
- LIBXML_NOBLANKS:刪除空白節點
- LIBXML_NOCDATA:將CDATA合並為文本節點
- LIBXML_NOEMPTYTAG:展開空標簽
- 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版本
- LIBXML_DOTTED_VERSION:獲取點綴的libxml版本
返回值如果成功,此函數將返回SimpleXMLElement對象,如果失敗,則返回FALSE。
以下示例程序旨在說明simplexml_load_string()函數:
程序1::
<?php
$note=<<<XML
<note>
<to>User 1</to>
<from>User 2</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML;
$xml = simplexml_load_string($note);
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>
輸出:
User 1 User 2 Reminder Don't forget me this weekend!
程序2::
<?php
$note=<<<XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<book>
<name>PHP</name>
<name>Java</name>
<name>C++</name>
<name>Python</name>
</book>
XML;
$xml=simplexml_load_string($note);
echo $xml->getName() . "\n";
foreach($xml->children() as $child){
echo $child->getName() . ": " . $child . "\n";
}
?>
輸出:
book name : PHP name : Java name : C++ name : Python
參考:
http://php.net/manual/en/function.simplexml-load-string.php
相關用法
- p5.js nfc()用法及代碼示例
- p5.js nfp()用法及代碼示例
- d3.js d3.hcl()用法及代碼示例
- p5.js nfs()用法及代碼示例
- PHP cos( )用法及代碼示例
- PHP sin( )用法及代碼示例
- p5.js nf()用法及代碼示例
- PHP tan( )用法及代碼示例
- PHP pow( )用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- d3.js d3.set.has()用法及代碼示例
- PHP Ds\Set xor()用法及代碼示例
注:本文由純淨天空篩選整理自Saptarshi_Das大神的英文原創作品 PHP | simplexml_load_string() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。