2017-04-13 248 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發現它,真棒。 –