HAGer
Новичок
Меняем местами узлы одного уровня
У меня есть документ
<?xml version="1.0" encoding="windows-1251" ?>
<!DOCTYPE doc SYSTEM "./dtd/dtd.dtd">
<doc>
<col id="col1">
<razdel name="Конференции iXBT" id="raz1">
...
</razdel>
<razdel name="Конференции iXBT" id="raz2">
...
</razdel>
</col>
</doc>
мне нужно раздел id=raz2 поднять вверх, а raz1 опустить вниз
Как я это понимал ДО того как началэто программить:
Клонируем первый узел, получаем структуру
raz1
raz1
raz2
оригинальному узлу raz1 приравниваем raz2, потом оригинальный удаляем raz2 и у нас остается структура
raz2
raz1
Начал писать на РНР
споткнулся уже на самом первом этапе. Пишу:
$raz1 = $raz21->previous_sibling();
$raz1clone = $raz1->clone_node();
не клонируется нифига append_sibling() работает, добавляя в конец "соседей" копию raz1. Но мне нужно, чтобы оно добавлялось сразу после оригинала. Кроме того, встала проблема, как отличить оригинальный узел от клона?
Мож я вообще не с того конца иду?
У меня есть документ
<?xml version="1.0" encoding="windows-1251" ?>
<!DOCTYPE doc SYSTEM "./dtd/dtd.dtd">
<doc>
<col id="col1">
<razdel name="Конференции iXBT" id="raz1">
...
</razdel>
<razdel name="Конференции iXBT" id="raz2">
...
</razdel>
</col>
</doc>
мне нужно раздел id=raz2 поднять вверх, а raz1 опустить вниз
Как я это понимал ДО того как началэто программить:
Клонируем первый узел, получаем структуру
raz1
raz1
raz2
оригинальному узлу raz1 приравниваем raz2, потом оригинальный удаляем raz2 и у нас остается структура
raz2
raz1
Начал писать на РНР
споткнулся уже на самом первом этапе. Пишу:
$raz1 = $raz21->previous_sibling();
$raz1clone = $raz1->clone_node();
не клонируется нифига append_sibling() работает, добавляя в конец "соседей" копию raz1. Но мне нужно, чтобы оно добавлялось сразу после оригинала. Кроме того, встала проблема, как отличить оригинальный узел от клона?
Мож я вообще не с того конца иду?