$value = $simpleXmlDoc->SomeNode->InnerNode;
affecte en fait un objet simplexml à $ value au lieu de la valeur réelle de InnerNode.
Si je fais:
$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";
J'obtiens la valeur. Quoi qu'il en soit pour obtenir la valeur réelle sans avoir l'air maladroit . "\n"
?
Diffusez comme vous voulez (et c'est logique ...). En concaténant, vous transformez implicitement en chaîne, donc
$value = (string) $xml->someNode->innerNode;
Vous n'avez pas besoin de spécifier innerNode
.
$value = (string) $simpleXmlDoc->SomeNode;
Qu'en est-il de l'utilisation d'un transtypage, comme quelque chose comme ça:
$value = (string)$simpleXmlDoc->SomeNode->InnerNode;
Voir: jonglage de type
Ou vous pouvez probablement utiliser strval (), intval () et tout ça - probablement plus lentement, à cause de l'appel de fonction.
Vous pouvez soit le convertir en chaîne, soit l'utiliser dans un contexte de chaîne:
$value = (string) $simpleXmlDoc->SomeNode->InnerNode;
// OR
echo $simpleXmlDoc->SomeNode->InnerNode;