DOM/XML in PHP5

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

  • DOM/XML in PHP5

    Tag,

    hab PHP 5.0.3 ohne --with-dom bzw. --with-dom-xslt beim configure-Skript kompiliert. Jetzt gibt phpinfo() trotzdem folgendes aus:

    PHP-Code:
    dom
    DOM
    /XML     enabled
    DOM
    /XML API Version     20031129
    libxml Version     2.6.8
    HTML Support     enabled
    XPath Support     enabled
    XPointer Support     enabled
    Schema Support     enabled
    RelaxNG Support     enabled 
    ein Aufruf von domxml_open_file() gibt "...function undefined aus". Also es is mir schon klar, dass ich die entsprechenden Optionen hätte angeben müssen, aber warum zeigt mit die Ausgabe von phpinfo() trotzdem ein aktiviertes DOM/XML ? Damit is also was anderes gemeint, aber was?

    [COLOR=red]edit[/COLOR] Ich hab jetz PHP5 mit den configure-Optionen --with-dom und --with-libxml-dir=/pfad nochma neu gebaut....der kennt die Funktion immer noch nicht....was das denn?
    Zuletzt geändert von MaxPayne; 12.02.2005, 12:32.

  • #2
    domxml_open_file() ist aus der alten (PHP4) DOM-API.

    Folgendes wäre "richtiger":
    PHP-Code:
    $DOM = new DOMDocument();
    $DOM->load("datei.xml"); 
    "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

    Kommentar


    • #3
      Jo, ha ich jetzt auch endlich gemerkt. Leider kann ich die DOM-API nzw. generell die XML-Funktionen in PHP nicht wirklich nutzen, da ich zum Beispiel folgende XML-Files habe:

      <?xml version="1.0" encoding="ISO-8859-15" standalone="yes" ?>
      <root>

      <element>
      ein bissl text und hier <tag attribute="value" /> und da <tag attribute="value" /> ein xml-tag mitten drin
      </element>

      </root>

      Das Problem ist, dass der XML-Parser, wenn ich den Knoten von <element> ansprechen will, die Tags im Text entfernt. Die brauche ich aber, weil die dann durch einen weiteren, von mir geschrieben Parser gejagt werden sollen.

      Kommentar


      • #4
        Wie sprichtst du den Inhalt des Knotens denn an? Per Knoten.textContent? Das "stript" die XML-Knoten immer. Du müsstest sowas wie das hier benutzen:
        PHP-Code:
        $XPath = new DOMXPath($DeinDomDoc);

        $Knoten $XPath->query("TagName"$DerKnotenInDemGesuchtWerdenSoll);
        for(
        $i 0$i $Knoten->lengthi++)
        {
          echo 
        $Knoten->item($i)->getAttribute('attribute');


        Übrigens: http://de2.php.net/dom
        "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

        Kommentar


        • #5
          Hm, ok, danke erstmal, das wäre jetzt ne Möglichkeit auf die Tags innerhalb des TextContents zuzugreifen. Gibts auuch ne Möglichkeit den Originaltext den gesamten Knoten (also nicht das Element, was ihn umschließt, sondern der Textinhalt [= Knoten laut DOM?]) unstripped zu bekommen? Das wär nämlich genau das, was ich bräuchte.

          Kommentar


          • #6
            Jup, das geht so:
            PHP-Code:
            $TagContent $DOMDoc->saveXML($KnotenDenDuAuslesenWillst); 
            "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

            Kommentar


            • #7
              Ahh, genau das brauch ich. Besten Dank

              Kommentar

              Lädt...
              X