Ответ 1
Кастинг любого типа, который вы хотите (и имеет смысл...). Посредством конкатенации вы неявно бросаете в строку, поэтому
$value = (string) $xml->someNode->innerNode;
$value = $simpleXmlDoc->SomeNode->InnerNode;
фактически присваивает объекту simplexml значение $вместо фактического значения InnerNode.
Если я это сделаю:
$value = $simpleXmlDoc->SomeNode->InnerNode . "\n";
Получаю значение. В любом случае, чтобы получить фактическое значение без неуклюже выглядящих . "\n"
?
Кастинг любого типа, который вы хотите (и имеет смысл...). Посредством конкатенации вы неявно бросаете в строку, поэтому
$value = (string) $xml->someNode->innerNode;
Вам не нужно указывать innerNode
.
$value = (string) $simpleXmlDoc->SomeNode;
Как насчет того, чтобы использовать тип, например, что-то вроде этого:
$value = (string)$simpleXmlDoc->SomeNode->InnerNode;
Смотрите: type-juggling
Или вы, вероятно, можете использовать strval(), intval() и все это - скорее всего, медленнее из-за вызова функции.
Либо добавьте его в строку, либо используйте в контексте строки:
$value = (string) $simpleXmlDoc->SomeNode->InnerNode;
// OR
echo $simpleXmlDoc->SomeNode->InnerNode;