2017-04-13 164 views
0

我试图从下面的SimpleXMLElement(已经从一个SOAP端点返回)的字符串值,但我没有喜乐的SimpleXMLElement提取字符串:麻烦PHP

object(SimpleXMLElement)[476] 
    public 'return' => string 'ff7ecc8af5ecaaba412c3b453c5f65f1' (length=32) 

我曾尝试把整个对象作为一个字符串来转换,它只是返回空,我试着把'return'当作关键字,等等。这是一个简单的任务,不能相信它让我难倒了。

+0

参见:http://stackoverflow.com/questions/2867575/get-value-from-simplexmlelement-object?rq=1 –

回答

1

你的问题,有些隐藏在问题,是该元素的名称是保留字,所以你不能使用普通的语法:

$value = (string)$xml->return; # SYNTAX ERROR 

的解决方案是使用周围的括号和引号名称,它允许您使用保留字或字符:

$value = (string)$xml->{'return'}; 
+0

完美。谢谢。 – HomerPlata

0

尝试在变量前添加(字符串)。例如:

echo (string)$xml->fieldname; 

为SimpleXMLElement东西是很面向对象,但你可以从你的共享调试输出中看到,该字符串是在那里的地方。

+0

感谢罗娜。问题是,我没有字段名。我试图使用'return'作为字段名,但不能,因为它是一个保留字。 – HomerPlata

+0

啊,完全错过了保留字导致的问题!尽管@IMSoP发现它,真棒。 –