Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapis XML'a
Barlog
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 20.11.2008

Ostrzeżenie: (0%)
-----


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....

Ten post edytował batman 20.11.2008, 18:59:24
Powód edycji: poprawiłem bbcode
Go to the top of the page
+Quote Post
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 08:03