40
$value = $simpleXmlDoc->SomeNode->InnerNode;

实际上将 simplexml 对象分配给 $value 而不是 InnerNode 的实际值。

如果我做:

$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";

我得到了价值。无论如何,在没有笨拙的外观的情况下获得实际价值. "\n"

4

4 回答 4

86

投射为您想要的任何类型(并且有意义......)。通过连接,您隐式转换为字符串,所以

$value = (string) $xml->someNode->innerNode;
于 2009-07-15T20:51:37.730 回答
21

您不必指定innerNode.

$value = (string) $simpleXmlDoc->SomeNode;

于 2010-12-10T22:49:16.477 回答
5

使用类型转换怎么样,就像这样:

$value = (string)$simpleXmlDoc->SomeNode->InnerNode;

请参阅:类型杂耍

或者您可能可以使用 strval()、intval() 和所有这些 - 可能会更慢,因为函数调用。

于 2009-07-15T20:53:24.980 回答
4

要么将其转换为字符串,要么在字符串上下文中使用它:

$value = (string) $simpleXmlDoc->SomeNode->InnerNode;
// OR
echo $simpleXmlDoc->SomeNode->InnerNode;

请参阅SimpleXML 参考函数指南

于 2009-07-15T20:56:41.013 回答