Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставить новый узел в XML-документ 
:(
    Опции темы
sugee
Дата 6.12.2005, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: нет
Всего: 4



Вопрос такой: у меня есть xml-файл
Код

<?xml version="1.0"?>
<!DOCTYPE catalog [
<!ELEMENT catalog (cd+)>
<!ELEMENT cd (number,title,artist,tracks)>
<!ELEMENT number (#PCDATA)>
<!ELEMENT title  (#PCDATA)>
<!ELEMENT artist (#PCDATA)>
<!ELEMENT tracks (#PCDATA)>
   ]>
  <catalog>
  <cd>
<number>1</number>
     <title>es jst ein augen blick...</title>
     <artist>endraum</artist>
     <tracks>15</tracks>
  </cd>
  <cd>
     <number>2</number>
     <title>Balance</title>
     <artist>James Holden</artist>
     <tracks>30</tracks>
  </cd>
  <cd>
     <number>3</number>
     <title>Kittenz and Thee</title>
     <artist>Felix Da Housecat</artist>
     <tracks>30</tracks>
  </cd>
  <cd> 
     <number>4</number>
     <title>kommt zusammen</title>
     <artist>2raumwohnung</artist>
     <tracks>13</tracks>
  </cd>
  <cd> 
     <number>6</number>
     <title>Antichrist</title>
     <artist>Das Ich</artist>
     <tracks>10</tracks>
  </cd> 
  <cd> 
     <number>7</number>
     <title>love metal</title>
     <artist>HIM</artist>
     <tracks>16</tracks>
  </cd>
  <cd> 
     <number>8</number>
     <title>consert</title>
     <artist>Volga</artist>
     <tracks>14</tracks>
  </cd>
   <cd> 
     <number>9</number>
     <title>One of 18 angels</title>
     <artist>Diary of Dreams</artist>
     <tracks>11</tracks>
  </cd> 
</catalog>

Я хочу вставить в определённое его место новый узел, т.е. новый CD.
Вот так я пытаюсь вставить его в начало, он всавляется но вместо того узла который раньше был первым, прежний узел удаляется.
Что я не так делаю?
Код

<?
$diski=simplexml_load_file('diski.xml');
                                      
$number="0"; 
$title="26 Mixes for Cash"; 
$artist="Aphex Twin"; 
$tracks="26";

$diski->cd->number=$number; 
$diski->cd->title=$title;
$diski->cd->artist=$artist;
$diski->cd->tracks=$tracks;
echo $diski->asXML(); 
?>

И ещё, как то же самое сделать с помощью стандарта DOM?

Это сообщение отредактировал(а) sugee - 6.12.2005, 10:41
PM MAIL   Вверх
sugee
Дата 7.12.2005, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 423
Регистрация: 12.6.2005

Репутация: нет
Всего: 4



Уточню вторую часть вопроса, относительно DOM...
Вот я обошел дочерние узлы корневого тега, теперь мне нужно вставить в определённое место, в начало например, новый узел cd со своими значениями дочерних узлов.
Как это делается?

Код

$diski=new domDocument;
$diski->load('diski.xml');
$catalog=$diski->documentElement;
$child=$catalog->childNodes;

for($i=0; $i<$child->length; $i++) {
  $cd=$child->item($i);
  echo $cd->nodeName."=".$cd->nodeValue."<br>";
}


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0408 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.