Daten aus XML Datei mittels PHP löschen

...komplette Frage anzeigen

1 Antwort

Moin!

getElementsById funktioniert auch, wenn auch eine ID definiert ist (entweder über eine DTD oder DOMElement::setIdAttribute)

Was ist denn $_GET['did']? Ein URL? Oder Datum?

Wenns nach einem URL gesucht wird, kannst du es so machen:

// SimpleXML Objekt aus der Sitemap erstellen
$oXML = simplexml_load_file('xml/sitemap.xml');

// Der URL, der aus der Sitemap entfernt werden soll
$strDelete = 'http://www.gutefrage.net/frage/grafiktreiber-und-center-deinstalliert--problem';

// Gesamtzahl der URL`s für die Schleife ermitteln
$intXMLSize = count($oXML);

for ($i=0 ; $i < $intXMLSize ; $i++)
{

    if ( $oXML->url[$i]->loc == $strDelete )
    {
        // Wenn der URL gefunden wurde, Knoten loeschen
        unset($oXML->url[$i]);
        // Max. Schleifendurchlaufe um den geloeschten Knoten verringern
        $intXMLSize--;
    }

}

// XML in Sitemap zurueck schreiben
$oXML->asXML('xml/sitemap.xml'); 

Wenn du nach dem Datum der letzten Modifikation einer Seite innerhalb der Sitemap suchst, musst du nur statt loc, lastmod angeben:

...
if ( $oXML->url[$i]->lastmod == $strDelete )
...

Viele Grüße

Was möchtest Du wissen?