php – 将SimpleXML对象强制为字符串,而不考虑上下文

让我们说我有一些这样的XML

<channel>
  <item>
    <title>This is title 1</title>
  </item>
</channel>

下面的代码做了我想要的,它输出的标题作为字符串

$xml = simplexml_load_string($xmlstring);
echo $xml->channel->item->title;

这里是我的问题。下面的代码不会将标题作为该上下文中的字符串,所以我最终在数组中的SimpleXML对象而不是字符串。

$foo = array( $xml->channel->item->title );

我一直在这样工作

$foo = array( sprintf("%s",$xml->channel->item->title) );

但这似乎丑陋。

什么是强制SimpleXML对象到字符串的最佳方式,不管上下文?

将SimpleXMLObject类型转换为字符串:

$foo = array( (string) $xml->channel->item->title );

上面的代码内部调用SimpleXMLObject上的__toString()。此方法不是公开可用的,因为它干扰SimpleXMLObject的映射方案,但是它仍然可以以上述方式调用。

http://stackoverflow.com/questions/416548/forcing-a-simplexml-object-to-a-string-regardless-of-context

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:php – 将SimpleXML对象强制为字符串,而不考虑上下文