2009-07-15 104 views
34
$value = $simpleXmlDoc->SomeNode->InnerNode; 

實際上將一個simplexml對象賦值給$ value而不是InnerNode的實際值。從PHP SimpleXML節點獲取實際值

如果我做的:

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

我得到的值。無論如何獲得實際價值沒有笨拙的外觀. "\n"

+5

這是回答在http://stackoverflow.com/questions/416548/forcing-a-simplexml-object-to-a-string-regardless-of-context – null 2009-07-16 14:39:50

回答

77

按照你想要的任何類型進行投射(並且有意義...)。通過連接,你含蓄地轉換爲String,所以

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

怎麼樣使用類型轉換,像這樣的事情:

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

參見:type-juggling

或者你可以可能使用strval (),intval()等等 - 因爲函數調用可能會更慢。

19

您不必指定innerNode

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