XMLWriter 添加新元素到文档开始

XMLWriter add new element to document start

流程是这样的:

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

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

现在我想在开始时添加元素(在第二个之前)

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

我如何才能在第二之前先对元素进行模式化?

您可以将您的元素添加到一个数组中,然后根据需要对其进行排序。例如按键。

之后,您可以使用 foreach(或其他)来添加您的元素

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

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

XMLWriter 没有操作节点的选项(以及之后、之前追加),因此没有针对该问题的内置解决方案。