从PHP SimpleXML节点获取实际价值

时间:2009-07-15 20:46:40

标签: php simplexml

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

实际上将一个simplexml对象赋给$ value而不是InnerNode的实际值。

如果我这样做:

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

我得到了价值。无论如何得到实际价值没有笨拙的. "\n"

4 个答案:

答案 0 :(得分:80)

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

$value = (string) $xml->someNode->innerNode;

答案 1 :(得分:19)

您不必指定innerNode

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

答案 2 :(得分:4)

如何使用类型转换:

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

请参阅:type-juggling

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

答案 3 :(得分:3)

将其强制转换为字符串,或在字符串上下文中使用它:

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

请参阅SimpleXML reference functions guide