Fehler beim Ändern von XML-Elementen mit SimpleXML
“Warning: Attempt to assign property of non-object in…” bei der Bearbeitung von XML-Elementen mit SimpleXML.
Dieser Fehler hat mich und meinen Freund gestern Nacht zur Verzweiflung gebracht. Auch wenn die Lösung total banal ist, möchte ich sie euch nicht vorenthalten, vielleicht erspare ich so dem ein oder anderen ein paar Nervenzusammenbrüche…
Ausgangssituation: Ich lade mit SimpleXML eine XML-Datei ($xml=simplexml_load_file(beispiel.xml;) und möchte bestimmte Teile bearbeiten. Die Bearbeitung geht ganz einfach über ein Formular in dem die ID des Elementes in einem hidden-Input-Feld übergeben wird.
Anschließend möchte ich das Element z. B. durch $xml->item[$id]->date[month]=$monatEdit; ändern und anschließend mit $xml->asXML(beispiel.xml); in die XML-Datei speichern. Ich bekomme aber nur die Meldung “Warning: Attempt to assign property of non-object in…” um die Ohren geschmissen.
Die Lösung: Wie gesagt, absolut einfach, aber man muss sie erstmal sehen. Als ich die $id mit dem Input-Feld übergeben habe, wurde sie von einer Zahl in einen String umgewandelt, das wollte dann das XML-Element als Index natürlich nicht anerkennen.
Deshalb wurde ein einfaches $id=$id+0; eingefügt. Mit Hilfe des +0 wurde aus der $id ein numerischer Datentyp, komme was wolle. Sollten in einer Variable, die auf diese Art und Weise umgewandelt wird, Buchstaben oder ähnliches enthalten sein, so werden diese einfach entfernt. Es bleiben nur noch Ziffern übrig.
Den “+0-Trick” hat mein Freund übrigends in der PHP-FAQ im Artikel “Wie unterscheide ich böse Variablen von guten?” unter “3. Variablen, die eine numerische Form haben müssen.” gefunden.
Pixel Perfect und die Website passt zum Layout
Aus aktuellem Anlass möchte ich ein kleines Extra für Firebug (ebenfalls Firefox-Addon) vorstellen: Pixel Perfect.
Ich habe gerade eine Seite aus einem Print-Layout in HTML überführt und dabei die Firmen-Schriftart in eine Systemschriftart geändert. Natürlich passen Schriftgöße, Zeilenhöhe, Paragraphen-Abstand nicht zusammen. Um ein möglichst genaues Ebendbild des Drucklayouts zu schaffen, braucht es mehr als nur Augenmaß. » weiter…
TypoLight URL ohne “index.php”
Eines meiner aktuellen Projekte: Eine Seite mit dem CMS TypoLight (www.typolight.org).
Ich arbeite seit Sonntag mit dem CMS und ich finde es wirklich gut. Deshalb hier eine kleine Info die vielleicht nicht für alle offensichtlich ist, ich musste auch erst gucken.
TypoLight schreibt die URLs standardmäßig ohne modrewrite, die URLs haben dann die Syntax:
www.exampledomain.de/index.php/startseite.html » weiter…
Lustiges aus der bloggenden Welt
Gerade ist meine Blogroll im Bereich “Allerlei” um zwei Blogs angewachsen.
Zum einen wird nun der Blog der angeber.in verlinkt. Um was es dort geht? Ach, um nichts besonderes, Familienleben eben. Das, was das Blog so besonders macht (und was den Leser nicht nur einmal vor Lachen die Tränen in die Augen treibt) ist der einzigartige Schreibstil von Bloggerin Stephie. Gut, ihr und ihrer Familie passieren vielleicht auch manchmal Dinge, die nicht ganz so alltäglich sind…
» weiter…
VOX droht Blogger mit juristischen Schritten
Traurig aber wahr: VOX droht Mario, dem Blogger von Heimwerker-Tipps, mit juristichen Schritten.
Darauf aufmerksam geworden bin ich durch einen Tweet (den ich auch gerne verlinken würde, aber irgendwie ist mir dieser im Eifer des Gefechtes verloren gegangen). Ich muss ja ehrlich gestehen, ich habe im ersten Moment gedacht, jemand habe es etwas zu weit mit seinem öffentlichen negativen Gefühlen gegen den Fernsehsender getrieben. Weit gefehlt… » weiter…
Ein bischen SEO fürs Blog: All in One SEO Plugin
Dank diverser Geburtstage war ich die letzten Tage fern der Heimat und dank verschiedenster Aufträge, hatte ich, wenn ich doch mal da war, keine Zeit. Jetzt nehm ich sie mir einfach mal um eines meiner aktuell aktivierten Plugins für WordPress vorzustellen:
All in One SEO Pack
> Download All in One SEO Pack aus dem offiziellen WordPress Plugin Directory
Das Paket verspricht automatische Optimierung der Seitentitel, automatisch generierte Meta-Tags, Verhinderung von doppeltem Content, super einfache Installation, manuelles Fine-Tuning für jedes Detail und Abwährtskompatibiltät. » weiter…

