$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