simplexmlelement simplexml_load_string simplexml_load_file new namespace error array php simplexml

simplexml_load_string - Obtener valor real del nodo PHP SimpleXML



simplexmlelement:: xpath(): undefined namespace prefix (4)

$value = $simpleXmlDoc->SomeNode->InnerNode;

realmente asigna un objeto simplexml a $ valor en lugar del valor real de InnerNode.

Si lo hago:

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

Obtuve el valor. De todos modos de obtener el valor real sin la mirada torpe . "/n" . "/n" ?


¿Qué pasa con el uso de un tipo de transmisión, como algo así?

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

Ver: type-juggling

O probablemente puedas usar strval (), intval () y todo eso, probablemente sea más lento, debido a la llamada a la función.


Emitir como el tipo que desee (y tiene sentido ...). Al concatenar, estás volviendo implícitamente a la cadena, por lo

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


No tiene que especificar innerNode .

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


O lanzarlo a una cadena, o usarlo en un contexto de cadena:

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

Consulte la guía de funciones de referencia SimpleXML