Ankündigung

Einklappen
Keine Ankündigung bisher.

DomDocument für XML Vorlagen, ggf. auch einfacherer?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DomDocument für XML Vorlagen, ggf. auch einfacherer?

    Hoi,
    ich verwende in meinen Skripten XML Files/Strings als Vorlage.
    Zum Beispiel sieht Die Vorlage für Login so ähnlich aus:
    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <request xmlns="http://platzhalter.de/global/1.0">
     <login>
      <user></user>
      <password></password>
     </login>
    </request>
    Während der Laufzeit werden nun die leeren Elemente User und Password befüllt und dann als XML String in einer Variable gespeichert.
    Habe mir dazu nun DomDocument angeschaut:
    PHP-Code:
            $dom = new DomDocument();
            
    $dom->preserveWhiteSpace false;
            
    $dom->load('XML/login.xml');

            
    $userElement $dom->createElement("user");
            
    $userContent $dom->createTextNode($this->user);
            
    $userElement->appendChild($userContent);

            
    $passwordElement $dom->createElement("password");
            
    $passwordContent $dom->createTextNode($this->password);
            
    $passwordElement->appendChild($passwordContent);

            
    $parent $dom->getElementsByTagName("login")->item(0);
            
    $user $dom->getElementsByTagName('user')->item(0);
            
    $password $dom->getElementsByTagName('password')->item(0);

            
    $parent->replaceChild($userElement$user);
            
    $parent->replaceChild($passwordElement$password);
            
            echo 
    $dom->saveXML(); 
    Dies funktioniert nun auch wie gewünscht.
    Aber ich finde es recht unhandlich und ich mag nicht dran denken, wenn später 25-30 Elemente zu befüllen sind.

    Hat jemand einen Tipp, in wie fern ich an diese Sache falsch herrangehe?

    Gruß,
    Spider

    PS: Was natürlich noch fehlt ob Elemente existieren etc., dann nur dann sollen eine Ersetzung statt finden.


  • #2
    Mach dir doch dafür eine Klasse, befüllen kannst du das ganze dann auch über eine Schleife.
    "My software never has bugs, it just develops random features."
    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

    Kommentar


    • #3
      Die Struktur bleibt leider nicht so einfach ...später wird noch einiges an komplexen XPath Querys hinzukommen, weiß noch nicht ob ich das dann mit einer Schleife erschlagen bekomme.
      Und auf die Strutkur der XML Vorlagen, habe ich leider keinen Einfluss.

      -Spider

      Kommentar


      • #4
        Trotzdem würde sich dafür eine (oder mehrere) Klasse(n) anbieten.
        "My software never has bugs, it just develops random features."
        "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

        Kommentar


        • #5
          Dann nutz halt X-Path um nur ein leeres Element zu erstellen und das Objekt, um alle Elementeigenschaften zuzuordnen. Formelemente kann man sehr gut ls Objekte abbilden.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar

          Lädt...
          X