Mar*_*iek 75 php xml simplexml
假设我有一些像这样的XML
<channel>
<item>
<title>This is title 1</title>
</item>
</channel>
Run Code Online (Sandbox Code Playgroud)
下面的代码执行我想要的,它将标题输出为字符串
$xml = simplexml_load_string($xmlstring);
echo $xml->channel->item->title;
Run Code Online (Sandbox Code Playgroud)
这是我的问题.下面的代码不会将标题视为该上下文中的字符串,因此我最终得到的是数组中的SimpleXML对象而不是字符串.
$foo = array( $xml->channel->item->title );
Run Code Online (Sandbox Code Playgroud)
我一直在这样做
$foo = array( sprintf("%s",$xml->channel->item->title) );
Run Code Online (Sandbox Code Playgroud)
但这看起来很难看.
无论上下文如何,将SimpleXML对象强制转换为字符串的最佳方法是什么?
Aro*_*eel 143
将SimpleXMLObject强制转换为字符串:
$foo = array( (string) $xml->channel->item->title );
Run Code Online (Sandbox Code Playgroud)
上面的代码在内部调用__toString()
SimpleXMLObject.此方法不公开,因为它会干扰SimpleXMLObject的映射方案,但仍可以上述方式调用它.
Zaj*_*aje 20
您可以使用PHP函数
strval();
Run Code Online (Sandbox Code Playgroud)
此函数返回传递给它的参数的字符串值.
有原生SimpleXML方法SimpleXMLElement :: asXML 根据参数,它将SimpleXMLElement写入xml 1.0文件或仅写入字符串:
$xml = new SimpleXMLElement($string);
$validfilename = '/temp/mylist.xml';
$xml->asXML($validfilename); // to a file
echo $xml->asXML(); // to a string
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
78985 次 |
最近记录: |