将 SimpleXML 对象转换为所有上下文的字符串
使用 XML 时,利用 PHP 中的 SimpleXML 扩展可以方便地访问 XML 数据。但是,在某些情况下,有必要将 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中文网其他相关文章!