最新的Web開發教程
 

PHP simplexml_load_string() Function

<PHP SimpleXML的參考

轉換一個良好的XML字符串轉換成SimpleXMLElement對象,那麼輸出鍵和對象的元素:

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML;

$xml=simplexml_load_string($note);
print_r($xml);
?>
運行示例»

定義和用法

所述simplexml_load_string()函數轉換良好的XML字符串轉換成SimpleXMLElement對象。


句法

simplexml_load_string( data,classname,options,ns,is_prefix );

參數 描述
data 需要。 指定格式良好的XML字符串
classname 可選的。 指定類的新對象
options 可選的。 指定附加xml庫[Libxml參數。 通過指定選項和1或0設定(TRUE or FALSE, eg LIBXML_NOBLANKS(1)

可能的值:

  • LIBXML_COMPACT - 激活節點分配優化(可以加快應用程序)
  • LIBXML_DTDATTR - 設置默認DTD屬性
  • LIBXML_DTDLOAD - 加載外部子集
  • LIBXML_DTDVALID - 驗證與DTD
  • LIBXML_NOBLANKS - 刪除空白節點
  • LIBXML_NOCDATA - 合併CDATA文本節點
  • LIBXML_NOEMPTYTAG -擴大空標籤(eg <br/> to <br></br>)只有在可用的DOMDocument-> save()DOMDocument-> saveXML()函數
  • 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的版本(eg 20605 or 20617)
  • LIBXML_DOTTED_VERSION - 獲取點的libxml版本(例如2.6.5或2.6.17)
ns 可選的。 指定一個命名空間前綴或URI
is_prefix 可選的。 指定一個布爾值。 TRUE,如果ns是一個前綴。 FALSE如果ns是一個URI。 默認為FALSE

技術細節

返回值: 如果成功則返回一個SimpleXMLElement對象。 FALSE失敗
PHP版本: 5+

更多示例

實施例1

輸出從XML字符串中的每個元件中的數據:

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</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;
?>
運行示例»

實施例2

輸出元素的名稱和數據的XML字符串中的每個子節點:

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML;

$xml=simplexml_load_string($note);
echo $xml->getName() . "<br>";

foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br>";
  }
?>
運行示例»

<PHP SimpleXML的參考