XML Datei mit PHP editieren

tetsuo666

Mitglied
Hallo liebe Tutorials-Gemeinde,

Versuche gerade die Flash-Newsblock Component (Link) an meine Bedürfnisse anzupassen und scheitere kläglich.

Ich habe eine XML Datei die folgendermaßen aufgebaut ist:
Code:
<?xml version='1.0' encoding='iso-8859-1'?>
<newsblock>
<news date=''><![CDATA[<font size="12" weight="bold" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><b>Überschrift 1</b><br>Text zur Überschrift 1.</font>]]>
</news>
<news date=''><![CDATA[<font size="12" weight="bold" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><b>Überschrift 2</b><br>Text zur Überschrift 2.</font>]]>
</news>
<news date=''><![CDATA[<font size="12" weight="bold" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><b>Überschrift 3</b><br>Text zur Überschrift 3.</font>]]>
</news>
<news date=''><![CDATA[<font size="12" weight="bold" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><b>Überschrift 4</b><br>Text zur Überschrift 4.</font>]]>
</news>
<news date=''><![CDATA[<font size="12" weight="bold" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><b>Überschrift 5</b><br>Text zur Überschrift 5.</font>]]>
</news>
<news date=''><![CDATA[<font size="12" weight="bold" face="Helvetica, Geneva, Arial, SunSans-Regular, sans-serif"><b>Überschrift 6</b><br>Text zur Überschrift 6.</font>]]>
</news>
</newsblock>

Ausgelesen wird diese über oben genannte Flashdatei.
Beispiel für die Ausgabe!

Nun möchte ich aber die XML Datei online editieren können. Ich habe leider überhaupt keinen Schimmer wie ich das machen soll. Was mich irritiert ist der "=''><![CDATA[" Eintrag in der XML. Wie schaffe ich es ein bequemes Online Formular (mit PHP) zu erstellen um die Einträge editieren zu können?

Ein weiteres Problem ist die Kodierung? Wie Ihr seht werden Umlaute falsch dargestellt. Ob ich nun UTF-8 oder iso-8859-1 nehme..

Wer kann mir helfen dabei helfen daß ich meine XML online editieren (Laden, Ändern, Speichern) kann

Viel Dank,
Tetsuo666

Link zur XML: Hier
Link zur SWF: Hier
Link zur Ausgabe: Hier
 
@unknown fool
Dass ich die Forensuche benutzen kann musst Du mir schon noch zutrauen.
Es gibt auch eine Vielzahl an Schnippsel die sich mit meinem Problem mehr oder weniger beschäftigen, jedoch bringt mich das mit dem "<![CDATA["" Problem nicht weiter...
 
Hallo,

nach stundenlangem Kopfzerbrechen bin ich noch kaum einen Schritt weiter.

Ich habe inzwischen rausgefunden daß auf der Webseite, auf der das Skript laufen soll, PHP 4.3.7 läuft. So weit so schlecht. Denn das oben erwähnte Tutorial benötigt PHP5. PHP4 kommt mit "simplexml_load_file($filename);" nicht klar.

Ich muss wohl daher das XML mit DOM schreiben. Eine anscheinend narrensichere Anleitung funktioniert bei mir auch nicht.

Die XML:
An XML book list example:
Code:
<books>
  <book>
  <author>Jack Herrington</author>
  <title>PHP Hacks</title>
  <publisher>O'Reilly</publisher>
  </book>
  <book>
  <author>Jack Herrington</author>
  <title>Podcasting Hacks</title>
  <publisher>O'Reilly</publisher>
  </book>
  </books>

Und die PHP-Datei:
Writing books XML with the DOM:
PHP:
  <?php
  $books = array();
  $books [] = array(
  'title' => 'PHP Hacks',
  'author' => 'Jack Herrington',
  'publisher' => "O'Reilly"
  );
  $books [] = array(
  'title' => 'Podcasting Hacks',
  'author' => 'Jack Herrington',
  'publisher' => "O'Reilly"
  );
  
  $doc = new DOMDocument();
  $doc->formatOutput = true;
  
  $r = $doc->createElement( "books" );
  $doc->appendChild( $r );
  
  foreach( $books as $book )
  {
  $b = $doc->createElement( "book" );
  
  $author = $doc->createElement( "author" );
  $author->appendChild(
  $doc->createTextNode( $book['author'] )
  );
  $b->appendChild( $author );
  
  $title = $doc->createElement( "title" );
  $title->appendChild(
  $doc->createTextNode( $book['title'] )
  );
  $b->appendChild( $title );
  
  $publisher = $doc->createElement( "publisher" );
  $publisher->appendChild(
  $doc->createTextNode( $book['publisher'] )
  );
  $b->appendChild( $publisher );
  
  $r->appendChild( $b );
  }
  
  echo $doc->saveXML();
  ?>

Es kommt diese Fehlermeldung!
Code:
Fatal error: Call to undefined method: domdocument->createelement() in /homepages/36/d85357770/htdocs/news/books.php on line 17

Bitte liebe Leute, es ist wirklich nicht so daß ich irgendwelche Schnippsel abstauben möchte und faul auf meinem A* sitze. Ich gebe mir größte Mühe mich einzulesen, http://de.php.net/ durchzuackern und die Basics zu verstehen. Ich bin auch schon so weit daß ich XML lesen kann, und schreiben kann (wenn auch nicht in der Formatierung die ich gerne hätte!). Aber ich schaffe es nicht ein Skript zusammenzuschustern welches Beides gleichzeitig erledigt!

<verzweifelt>Bitte habt Erbarmen und helft mir!</verzweifelt>
 
Mmh bei mir funktioniert es bestens, ich glaube dein PHP 4.3.7 hat nur das alte Dom dabei, deswegen würde ich mal hier http://www.php.net/manual/de/ref.domxml.php nach Lösungen für das Problem suchen bzw. nach anderen Funktionen.

Nachtrag: Oh ich lese gerade, dass man um die DOMXML-Extension nutzen möchte, in der php.ini die DOMXML-Extension ausschalten muss.
 
Zuletzt bearbeitet:
Zurück