Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] SimpleXML usuwanie rekordów
Forum PHP.pl > Forum > PHP
pitu
Posiadam dokument .xml o strukturze:
  1. <ogloszenia>
  2. <ogloszenie nr="1">
  3. <marka>xxxx</marka>
  4. <model>xxx</model>
  5. <typ>xxx</typ>
  6. <zdjecia>
  7. <zdjecie>images/1_1.jpg</zdjecie>
  8. <zdjecie>images/1_2.jpg</zdjecie>
  9. <zdjecie>images/1_3.jpg</zdjecie>
  10. <zdjecie>images/1_4.jpg</zdjecie>
  11. </zdjecia>
  12. <cena>2000</cena>
  13. <wojewodztwo>Zachodniopomorskie</wojewodztwo>
  14. <rocznik>1234</rocznik>
  15. <silnik>xxxx</silnik>
  16. <opis>xxxxxx</opis>
  17. <sprzedajacy id="1"/>
  18. </ogloszenie>
  19.  
  20. ...
  21. </ogloszenia>


Próbuję wykonać usuwanie znacznika ogloszenie o konkretnym nr i wszystkich znaczników w nim zawartych.

Dla przykładu chcąc usunąć ogłoszenie o numerze 1 usuniemy z dokumentu:
  1. <ogloszenie nr="1">
  2. <marka>xxxx</marka>
  3. <model>xxx</model>
  4. <typ>xxx</typ>
  5. <zdjecia>
  6. <zdjecie>images/1_1.jpg</zdjecie>
  7. <zdjecie>images/1_2.jpg</zdjecie>
  8. <zdjecie>images/1_3.jpg</zdjecie>
  9. <zdjecie>images/1_4.jpg</zdjecie>
  10. </zdjecia>
  11. <cena>2000</cena>
  12. <wojewodztwo>Zachodniopomorskie</wojewodztwo>
  13. <rocznik>1234</rocznik>
  14. <silnik>xxxx</silnik>
  15. <opis>xxxxxx</opis>
  16. <sprzedajacy id="1"/>
  17. </ogloszenie>


Wykonałem na razie skrypt lecz nie wiem czemu nie działa.

  1. $doc = new DOMDocument;
  2. $doc->load('baza/ogloszenia.xml');
  3.  
  4. $id = 1;
  5.  
  6. $xpath = new DOMXpath($doc);
  7.  
  8. foreach($xpath->query('//ogloszenia/ogloszenie[@nr="1"]') as $node) {
  9. $node->parentNode->removeChild($node);
  10. }
  11. echo $doc->savexml();


Proszę o pomoc.
Fifi209
Trzeba czytać opis funkcji, których się używa:
Cytat
DOMDocument::saveXML — Dumps the internal XML tree back into a string

Co jak dla mnie oznacza, że o zapis do pliku musisz sam zadbać, bo to ma zwrócić tylko stringa.
pitu
Dzięki, mój błąd.

DOMDocument->save()

Do zamknięcia.
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.