XMLWriter добавляет новый элемент в начало документа

Поток такой:

    $xml = new XMLWriter();
$xml->openURI('file.xml');
$xml->setIndent(4);
$xml->startDocument('1.0');

$xml->startElement('second');
$xml->endElement();

Теперь я хочу добавить элемент в начале (перед вторым)

    $xml->startElement('first');
$xml->endElement();

Как я могу сменить элемент первым перед вторым?

0

Решение

Вы можете добавить свой элемент в массив и отсортировать его, как вы хотите. По ключу например.

После, вы можете использовать foreach (или другой) для добавления ваших элементов

$elements[1] = 'second';
# do somethings
$elements[0] = 'first';

foreach ($elements as $key => $element) {
$xml->startElement($element);
}
1

Другие решения

XMLWriter нет возможности манипулировать узлами (apend after, apend before), поэтому нет встроенного решения для этой проблемы.

0

По вопросам рекламы [email protected]