Получение фактического значения из узла PHP SimpleXML

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

фактически присваивает объекту simplexml значение $ value вместо фактического значения InnerNode.

Если я сделаю:

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

Я получаю значение. Во всяком случае, получить реальную стоимость без неуклюжих глядя . "\n" . "\n" ?

Бросьте как любой тип, который вы хотите (и имеет смысл …). Посредством конкатенации вы неявно бросаете строку, поэтому

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

Вам не нужно указывать innerNode .

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

Как насчет того, чтобы использовать тип, как-то вроде этого:

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

См .: Тип-жонглирование

Или вы, вероятно, можете использовать strval (), intval () и все это – скорее всего, медленнее из-за вызова функции.

Либо добавьте его в строку, либо используйте ее в контексте строки:

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

См. Руководство по справочным функциям SimpleXML