使用SimpleXML 操作XML 資料時,您可能會遇到需要將SimpleXML 物件轉換為字串的情況,無論其大小如何語境。以下程式碼範例說明了一個常見問題:
<xmlstring> <channel> <item> <title>This is title 1</title> </item> </channel> </xmlstring> $xml = simplexml_load_string($xmlstring); echo $xml->channel->item->title; // Output: "This is title 1" in string format // Problem: SimpleXML object is stored as array element $foo = array($xml->channel->item->title); // Result: SimpleXML object
在此範例中,程式碼片段成功將 XML 標題轉換為字串,但是當 SimpleXML 物件儲存在陣列中時,它仍然是一個物件。這對於某些操作可能會出現問題。
無論上下文如何,將 SimpleXML 物件強制轉換為字串的最佳方法是對其進行類型轉換。以下程式碼片段示範了這一點:
$foo = array((string)$xml->channel->item->title);
此程式碼在內部呼叫 SimpleXML 物件上的 __toString() 方法,該方法將其轉換為字串。需要注意的是,儘管 __toString() 無法公開訪問,但此解決方法使您能夠實現所需的行為。
以上是如何在 PHP 中可靠地將 SimpleXML 物件轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!