Изменить порядок узлов XML с помощью php и simplexml - PullRequest
1 голос
/ 24 декабря 2010

Моя страница в настоящее время обновляет существующий xml, проблема в том, что при добавлении новых узлов они идут в конец xml или родительского тега, т. Е.

<N1></N1>
<N1></N1>
<N2></N2>
<N2></N2>
<N2></N2>
<N1></N1>  //I want this node to be displayed with the other N1 nodes.

Я прочитал решения для этого, которые не используют simplexml, но проблема в том, что я уже написал способ для большого количества кода вокруг simplexml, чтобы изменить его. Кроме того, имейте в виду, что страница не переписывает XML с нуля, а просто меняет то, что отличается. Так возможно ли то, что я спрашиваю? спасибо.

1 Ответ

7 голосов
/ 24 декабря 2010

Нет способа переупорядочить узлы с использованием SimpleXML, о котором я знаю.Лучшим вариантом может быть преобразование его в объект DOMDocument, а затем использовать метод DOMNode->insertBefore() для вставки нового DOMNode перед другим.

Хорошим примером того, что вы хотите сделать, может быть http://us.php.net/manual/en/function.dom-import-simplexml.php.

...