Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapis XML'a
Forum PHP.pl > Forum > PHP
Barlog
Witam,

Panowie mam gorącą prośbę. Robię zapis komentarzy do mojej strony, który ma odbywać się do XML'a.
Wszystko generalnie jest OK. Chciałbym jednak aby każdy kolejny dodany komentarz dodawał się do mojego pliku jako osobna sekcja np. item.
W chwili obecnej nowy zapis komentarza nadpisze stary.

Wygląda to tak:
  1. <?php
  2. //------------------------------------początek zapisu xml'a-------------------------------------------------------------
  3.            $xml = new DOMDocument('1.0');
  4.            $xml->formatOutput = true;
  5.            $xml = $xml->load('comments.xml');
  6.            
  7.            //tworzymy  główną sekcję  w xmlu
  8.            //$data = $xml->createElement('data');
  9.            //$data = $xml->appendChild($data);
  10.            
  11.            //tworzymy  podsekcję  - konkretny wpis
  12.             $item = $xml->createElement('item');
  13.             $item = $data->appendChild($item);
  14.            
  15.            // Do sekcji item tworze kolejne podsekcje i do każdej z nich przypisuje vartość
  16.             $user_name = $xml->createElement('user_name');
  17.             $user_name = $item->appendChild($user_name);
  18.                 $value = $xml->createTextNode($name);
  19.                 $value = $user_name->appendChild($value);
  20.                
  21.             $comment_text = $xml->createElement('comment_text');
  22.             $comment_text = $item->appendChild($comment_text);
  23.                 $value = $xml->createTextNode($comment);
  24.                 $value = $comment_text->appendChild($value);            
  25.  
  26.             $active_image = $xml->createElement('active_image');
  27.             $active_image = $item->appendChild($active_image);
  28.                 $value = $xml->createTextNode($image);
  29.                 $value = $active_image->appendChild($value);                    
  30.            
  31.            //zapisuję xmla
  32.            $xml->save('comments.xml');
  33.            
  34. //------------------------------------koniec zapisu xml'a-------------------------------------------------------------
  35. ?>


czy macie jaieś sugestie jak zrobić by się dopisyewało.. wiem, że może by użyć load i dopisywać na kiniec ostatniego zapisu, ale nie wiem jak....
vokiel
Musisz wczytac istniejącego xml'a, pobrać dane z niego (np do tablicy), dopisać nowy wiersz i utworzyć na nowo ten plik już z dodanym wpisem.
Albo możesz posłużyć się fajnymi funkcjami: domdocument.importnode
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.