<ogloszenia> <ogloszenie nr="1"> <marka>xxxx</marka> <model>xxx</model> <typ>xxx</typ> <zdjecia> <zdjecie>images/1_1.jpg</zdjecie> <zdjecie>images/1_2.jpg</zdjecie> <zdjecie>images/1_3.jpg</zdjecie> <zdjecie>images/1_4.jpg</zdjecie> </zdjecia> <cena>2000</cena> <wojewodztwo>Zachodniopomorskie</wojewodztwo> <rocznik>1234</rocznik> <silnik>xxxx</silnik> <opis>xxxxxx</opis> <sprzedajacy id="1"/> </ogloszenie> ... </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:
<ogloszenie nr="1"> <marka>xxxx</marka> <model>xxx</model> <typ>xxx</typ> <zdjecia> <zdjecie>images/1_1.jpg</zdjecie> <zdjecie>images/1_2.jpg</zdjecie> <zdjecie>images/1_3.jpg</zdjecie> <zdjecie>images/1_4.jpg</zdjecie> </zdjecia> <cena>2000</cena> <wojewodztwo>Zachodniopomorskie</wojewodztwo> <rocznik>1234</rocznik> <silnik>xxxx</silnik> <opis>xxxxxx</opis> <sprzedajacy id="1"/> </ogloszenie>
Wykonałem na razie skrypt lecz nie wiem czemu nie działa.
$doc = new DOMDocument; $doc->load('baza/ogloszenia.xml'); $id = 1; $xpath = new DOMXpath($doc); foreach($xpath->query('//ogloszenia/ogloszenie[@nr="1"]') as $node) { $node->parentNode->removeChild($node); }
Proszę o pomoc.