[PHP] XML-Baum in Datenbank

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Faultier, 27. März 2013 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. März 2013
    Zuletzt bearbeitet: 27. März 2013
    XML-Baum in Datenbank

    Hi leute,

    ich Arbeite gerade an einem System, wo ich XML-Bäume in die Datenbank eintragen muss.
    Mein Problem dabei ist nun, dass die Bäume nicht schön sauber formatiert in der Datenbank eingetragen werden, sondern einfach alles untereinander. Das bekomme ich aber irgendwie nicht wirklich hin. X(

    Mal nen Beispiel:

    Hier meine testtabelle:
    Habe es jetzt mit "->asXML()" versucht, jedoch funktioniert das nicht so richtig?
    Muss ich beim anlegen der Tabelle bzw Spalte etwas beachten?

    Danke schonmal für die Antworten

    vlg
     
  2. 27. März 2013
    AW: XML-Baum in Datenbank

    <pre></pre> oder Leerzeichen (inkl. \t) durch &nbsp; ersetzen.
     
  3. 27. März 2013
    Zuletzt bearbeitet: 27. März 2013
    AW: XML-Baum in Datenbank

    Hey Murdoc, schön dich zu lesen.

    Ich muss gestehen, dass ich das nicht ganz verstanden habe.
    Ich hab das nämlich gerade mal ausprobiert und der schreibt mir dann auch das <pre> mit in die Datenbank ^^

    PHP:
    "<pre>" . $xml -> asXML (). "</pre>"
    So ist das jedenfall nicht richtig.. Wäre ja auch ne string verkettung.

    Ich habe vergessen zu sagen, dass ich mir den Baum vorher mittels simplexml und addChild usw. zusammen baue und ihn dann in die Datenbank eintrage.

    Wenn ich eine xml-datei auslese, macht er es Ordentlich.Dann heisst es ja eigentlich nur, dass ich beim zusammenbauen der xml-datei etwas vergesse?

    So in etwas baue ich den Baum zusammen:

    PHP:
    $xml  simplexml_load_string ( "<test></test>" );
    $xml -> addChild ( "node1" , "value1" ):
    usw.

    Am ende dann halt noch:

    PHP:
    $_SESSION [ 'xml' ] =  $xml -> asXML ();
    und diesen wert trage ich dann irgendwann in die Datenbank ein.

    vlg
     
  4. 27. März 2013
    Zuletzt bearbeitet: 27. März 2013
    AW: XML-Baum in Datenbank

    simplexml formatiert anscheinend den XML-Code nicht (Was rein technisch auch nicht nötig ist)

    Format output of $SimpleXML->asXML();
     
  5. 27. März 2013
    AW: XML-Baum in Datenbank

    und <pre></pre> natürlich nicht mit in die Datenbank speichern, das dient lediglich zur Ausgabe in HTML Dateien.
     
  6. 28. März 2013
    AW: XML-Baum in Datenbank

    Ja genau dafür ist pre da..

    Ich glaube ihr habt mich nicht richtig verstanden oder ich habe mich vielleicht unverständlich ausgedrückt.. (auch wenn mein Beispiel im ersten Post das eigentlich exakt beschreibt..)

    Ich will den XML-Baum, den ich vorher mittels simplexml erstelle, schön sauber formatiert in die Datenbank eintragen, damit es einfach schön aussieht. Das es technisch irrelevant ist, ist mir auch klar. Die Software ist ja schon fertig, allerdings meint mein Chef, dass ich mich dadrum noch kümmern solle.

    Ich will es weder im Browser schön formatiert ausgeben, noch in einer Datei.

    vlg
     
  7. 28. März 2013
    AW: XML-Baum in Datenbank

    Ich habe dich schon verstanden, guck dir meinen Link noch einmal an.

    Hier ein beispiel wie es in dem link schon geschrieben wurde:
    PHP:
    <? PHP

    $xml 
    '<test><article><title>Hello world</title><content>What ever</content></article></test>' ;

    $simpleXml  = new  SimpleXMLElement $xml  );

    $dom  dom_import_simplexml $simpleXml  )-> ownerDocument ;
    $dom -> formatOutput  true ;

    echo 
    '<pre>'  htmlspecialchars $dom -> saveXML () ) .  '</pre>' ;
    Ausgabe:
    HTML:
    <?xml version="1.0"?>
    <test>
     <article>
     <title>Hello world</title>
     <content>What ever</content>
     </article>
    </test>
     
    1 Person gefällt das.
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.