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

assegna effettivamente un oggetto simplexml a $ valore invece del valore effettivo di InnerNode.Ottenere valore effettivo da PHP Nodo SimpleXML

Se lo faccio:

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

ottengo il valore. Ad ogni modo di ottenere il valore reale senza il goffo aspetto . "\n"?

+5

Questo è stato risposto a http://stackoverflow.com/questions/416548/forcing-a-simplexml-object-to-a-string-regardless-of-context – null

risposta

77

Cast come qualsiasi tipo si desidera (e ha senso ...). Concatenando, stai implicitamente colata a stringa, quindi

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

Cosa succede ad usare un typecast, come qualcosa di simile:

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

See: type-juggling

Oppure si può probabilmente usare strval(), intval() e tutto il resto - solo probabilmente più lento, a causa della chiamata alla funzione.

19

Non è necessario specificare innerNode.

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

Problemi correlati