从 PHP SimpleXML 节点获取实际值 [重复]
Posted
技术标签:
【中文标题】从 PHP SimpleXML 节点获取实际值 [重复]【英文标题】:Getting actual value from PHP SimpleXML node [duplicate] 【发布时间】:2010-11-11 03:50:56 【问题描述】:$value = $simpleXmlDoc->SomeNode->InnerNode;
实际上将simplexml对象分配给$value,而不是InnerNode的实际值。
如果我这样做:
$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";
我得到了价值。无论如何,如果没有笨拙的. "\n"
,就可以获得实际价值吗?
【问题讨论】:
这是在***.com/questions/416548/…回答的 【参考方案1】:投射为您想要的任何类型(并且有意义......)。通过连接,您隐式转换为字符串,所以
$value = (string) $xml->someNode->innerNode;
【讨论】:
【参考方案2】:您不必指定innerNode
。
$value = (string) $simpleXmlDoc->SomeNode;
【讨论】:
【参考方案3】:使用类型转换怎么样,比如:
$value = (string)$simpleXmlDoc->SomeNode->InnerNode;
见:type-juggling
或者您也可以使用 strval()、intval() 和所有这些 - 只是可能更慢,因为函数调用。
【讨论】:
【参考方案4】:要么将其转换为字符串,要么在字符串上下文中使用它:
$value = (string) $simpleXmlDoc->SomeNode->InnerNode;
// OR
echo $simpleXmlDoc->SomeNode->InnerNode;
见SimpleXML reference functions guide
【讨论】:
以上是关于从 PHP SimpleXML 节点获取实际值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
SimpleXML 和 php - 获取包含与另一个节点匹配的文本的节点