將SimpleXML 物件轉換為所有上下文的字串
使用XML 時,利用PHP 中的SimpleXML 擴充功能可以輕鬆存取。但是,在某些情況下,有必要將 SimpleXML 物件轉換為字串,無論其上下文如何。
例如,考慮以下 XML:
<channel> <item> <title>This is title 1</title> </item> </channel>
使用 SimpleXML檢索標題作為字串可以完美地工作:
$xml = simplexml_load_string($xmlstring); echo $xml->channel->item->title;
但是,當嘗試在不同的上下文中將標題視為字串時,例如添加時,會出現困難將其添加到數組中:
$foo = array( $xml->channel->item->title );
在這種情況下,意外的SimpleXML 物件而不是字串被加入到陣列中。要解決此問題,請考慮以下方法:
將SimpleXML 物件類型轉換為字串:
$foo = array( (string) $xml->channel->item->title );
內部明確使用(string) 將SimpleXML 物件類型轉換為字串呼叫__toString() 方法。雖然此方法未公開公開以避免干擾 SimpleXMLObject 映射,但仍可以透過此技術存取它。
以上是如何在 PHP 中可靠地將 SimpleXML 物件轉換為字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!