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

faktycznie przypisuje obiekt simplexml do wartości $ zamiast rzeczywistej wartości InnerNode.Uzyskiwanie rzeczywistej wartości z węzła PHP SimpleXML

Jeśli zrobić:

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

uzyskać wartość. W każdym razie uzyskania rzeczywistej wartości bez niezręcznego wyglądu . "\n"?

+5

Ten odpowiedział na http://stackoverflow.com/questions/416548/forcing-a-simplexml-object-to-a-string-regardless-of-context – null

Odpowiedz

77

Przesyłaj jako dowolny typ (i ma to sens). Przez złączenie, jesteś niejawnie odlewania na ciąg, więc

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

Co o użyciu typecast, jak coś takiego:

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

Patrz: type-juggling

Albo prawdopodobnie można użyć strval(), intval() i wszystko to - prawdopodobnie prawdopodobnie wolniej, z powodu wywołania funkcji.

19

Nie musisz określić innerNode.

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

Powiązane problemy