<?php
$strXml = '<data>
<task id="1">
<parent>0</parent>
</task>
<task id="2">
<parent>-1</parent>
</task>
<task id="3">
<parent>-1</parent>
</task>
<task id="4">
<parent>0</parent>
</task>
<task id="5">
<parent>-1</parent>
</task>
<task id="6">
<parent>-1</parent>
</task>
<task id="7">
<parent>0</parent>
</task>
<task id="8">
<parent>-1</parent>
</task>
<task id="9">
<parent>-1</parent>
</task>
</data>';
$convertedXML = new SimpleXMLElement($strXml);
$i = 0;
foreach($convertedXML as $task) {
if($convertedXML->task[$i]) {
$id = (string) $task["id"];
$parent = (string) $task->parent;
$task->parent = ($parent == 0) ? 0 : $back_parent;
$back_parent = ($parent == 0) ? $id : $back_parent;
$i++;
}
}
echo $convertedXML->saveXML();
?>
PD9waHAKCiRzdHJYbWwgPSAnPGRhdGE+CiAgICA8dGFzayBpZD0iMSI+CiAgICAgICAgPHBhcmVudD4wPC9wYXJlbnQ+CiAgICA8L3Rhc2s+CiAgICA8dGFzayBpZD0iMiI+CiAgICAgICAgPHBhcmVudD4tMTwvcGFyZW50PgogICAgPC90YXNrPgogICAgPHRhc2sgaWQ9IjMiPgogICAgICAgIDxwYXJlbnQ+LTE8L3BhcmVudD4KICAgIDwvdGFzaz4KICAgIDx0YXNrIGlkPSI0Ij4KICAgICAgICA8cGFyZW50PjA8L3BhcmVudD4KICAgIDwvdGFzaz4KICAgIDx0YXNrIGlkPSI1Ij4KICAgICAgICA8cGFyZW50Pi0xPC9wYXJlbnQ+CiAgICA8L3Rhc2s+CiAgICA8dGFzayBpZD0iNiI+CiAgICAgICAgPHBhcmVudD4tMTwvcGFyZW50PgogICAgPC90YXNrPgogICAgPHRhc2sgaWQ9IjciPgogICAgICAgIDxwYXJlbnQ+MDwvcGFyZW50PgogICAgPC90YXNrPgogICAgPHRhc2sgaWQ9IjgiPgogICAgICAgIDxwYXJlbnQ+LTE8L3BhcmVudD4KICAgIDwvdGFzaz4KICAgIDx0YXNrIGlkPSI5Ij4KICAgICAgICA8cGFyZW50Pi0xPC9wYXJlbnQ+CiAgICA8L3Rhc2s+CjwvZGF0YT4nOwoKJGNvbnZlcnRlZFhNTCA9IG5ldyBTaW1wbGVYTUxFbGVtZW50KCRzdHJYbWwpOwokaSA9IDA7CmZvcmVhY2goJGNvbnZlcnRlZFhNTCBhcyAkdGFzaykgewoJaWYoJGNvbnZlcnRlZFhNTC0+dGFza1skaV0pIHsKCQkkaWQgPSAoc3RyaW5nKSAkdGFza1siaWQiXTsKCQkkcGFyZW50ID0gKHN0cmluZykgJHRhc2stPnBhcmVudDsKCQkkdGFzay0+cGFyZW50ID0gKCRwYXJlbnQgPT0gMCkgPyAwIDogJGJhY2tfcGFyZW50OwoJCSRiYWNrX3BhcmVudCA9ICgkcGFyZW50ID09IDApID8gJGlkIDogJGJhY2tfcGFyZW50OwoJCSRpKys7Cgl9Cn0KZWNobyAkY29udmVydGVkWE1MLT5zYXZlWE1MKCk7Cgo/Pg==