Если вы хотите сделать только добавление корневого элемента, вы можете сделать
$contents = str_replace("<?xml version='1.0' ?>",
"<?xml version='1.0' ?><root>",
$contents . '</root>');
Это заменит пролог с самим собой плюс корневой элемент внутри содержимого и добавленный закрывающий корневой тег. Однако имейте в виду, что технически мы просто вставляем сюда случайные строки, а не узлы, что означает, что <root>
обрабатывается так же, как oot><aut
. Угловые скобки не имеют особого значения при работе со струнами. Мы сами определили семантику. Это нормально для простого варианта использования, как указано выше.
Но если вы хотите работать с узлами, рассмотрите возможность использования одной из XML-библиотек PHP .