XML Datei wird nicht richtig ausgegeben?

Erstmal nochmal für alle vorherigen Posts, danke für deine Hilfe.

Zum Thema:
Ist mein Code wie oben geschrieben denn richtig?
Wie sähe das mit dem Dateinamen aus?

PHP:
echo $new_xml->asXML(rss/rss.xml);

so?
 
Zeichenketten müssen immer als solche ausgewiesen werden:

PHP:
$new_xml->asXML("rss/rss.xml");

Dann sollte im Verzeichnis rss eine Datei mit dem Namen rss.xml erzeugt werden, die die Inhalt des SimpleXMLElement-Objekts und seiner Kinder hat. Sollte dann direkt über den Browser erreichbar sein.

Im übrigen empfehle ich dir, bei Tests folgende zwei Zeilen in die ersten Zeilen deiner Scripts einzubauen:

PHP:
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);

Dadurch kannst du Fehler und Warnungen sehen und das hilft uns bei der Analyse der Probleme.

EDIT: Zu deinem Code von oben. Eigentlich brauchst du kein neues SimpleXMLElement erzeugen, denn die Funktion simplexml_load_string() gibt schon ein SimpleXMLElement-Objekt zurück, das du direkt verwenden kannst. Du könntest also die Aktion asXML() direkt mit der Variable $xml verwenden.
 
Zuletzt bearbeitet:
Das heißt ich mache direkt $xml->asXML("rss/rss.xml"); ?
Wie sieht das bei der Funktion mit ChmodRechten aus? Wie muss ich die verteilen? Kann ich vorher bei der Funktion die Datei mit unlink löschen, und die Funktion aufrufen? Sprich wird dann mit Aufruf direkt eine neue Datei erstellt?
 
Genau.

Die Zugriffsrechte der neu erstellten Datei (wenn du vorher mit unlink löschst) kann ich nicht vorhersagen, denn das ist System-Konfigurationsabhängig. Wenn du sicher gehen willst, kannst du mit dem Befehl chmod() die Zugriffsrechte in einen definierten Zustand bringen. Beispiel:

PHP:
// Nur als Hilfe den Pfad in eine Variable speichern
$datei = "rss/rss.xml";
// Erst Datei löschen
if(!unlink($datei)) {
  die("Konnte $datei nicht löschen");
}
// Dann Datei neu erzeugen
$xml->asXML($datei);
if(!file_exists($datei)) {
  die("Konnte XML nicht in $datei schreiben");
}
// Dann Zugriffsrechte definieren (Eigentümer=lesen,schreiben; Gruppe=lesen; Sonstige=lesen)
if(!chmod($datei, 0644)) {
  die("Konnte die Zugriffsrechte nicht definieren");
}
 
Zurück