Php SimpleXML返回一个对象而不是字符串
我有一些XML如下所示:Php SimpleXML返回一个对象而不是字符串,php,simplexml,Php,Simplexml,我有一些XML如下所示: <Body> <RESULT> <SUCCESS>true</SUCCESS> <SESSIONID>42</SESSIONID> <SESSION_ENCODING>;jsessionid=42</SESSION_ENCODING> </RESULT> </Body> 结果是: [se
<Body>
<RESULT>
<SUCCESS>true</SUCCESS>
<SESSIONID>42</SESSIONID>
<SESSION_ENCODING>;jsessionid=42</SESSION_ENCODING>
</RESULT>
</Body>
结果是:
[sessionId:protected] => SimpleXMLElement Object
(
[0] => 42
)
[sessionId:protected] => 42
我需要的是:
[sessionId:protected] => 42
如何实现这一点?将其转换为字符串(或int)以获取
标记的内容:
$this->sessionId = (string) $obj->Body->RESULT->SESSIONID;
根据我的经验,当您需要一个值而不是一个对象时,SimpleXmlElement可能是一件痛苦的事情 根据前面的回答,您可以强制转换所需的XML部分,或者使用以下方法: 在ops示例中,要获取整数,可以使用intval():
$this->sessionId=inval($obj->Body->RESULT->sessionId)代码>
从(PHP5>=5.3.0,PHP7)开始,您还可以使用SimpleXMLElement::\uu-toString方法来获取字符串
$this->sessionIdasString = $obj->Body->RESULT->SESSIONID->__toString();