У меня есть следующий код:
$doc = new \DOMDocument('1.0', 'UTF-8');
$doc->formatOutput = true;
$element = $doc->createElement('ROOT');
$root = $doc->appendChild($element);
$textNode = $doc->createTextNode('I should be in both nodes');
$element = $doc->createElement('FIRST');
$first = $root->appendChild($element);
$first->appendChild($textNode);
$element = $doc->createElement('SECOND');
$second = $root->appendChild($element);
$second->appendChild($textNode);
var_dump($doc->saveXML($root));
Чего я не понимаю, так это почему вывод:
<ROOT>
<FIRST/>
<SECOND>I should be in both nodes</SECOND>
</ROOT>
Почему элемент FIRST не содержит текста?ВТОРОЙ украл его?:) Потому что, если я удаляю часть кода, создающую ВТОРОЙ элемент, ПЕРВЫЙ получает свой текстовый узел, как и ожидалось.