Ankündigung

Einklappen
Keine Ankündigung bisher.

DOMXML und parsen

Einklappen

Neue Werbung 2019

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

  • DOMXML und parsen

    Hallo!
    Ich wollte mal ein bisschen bei der XML verarbetung mit PHP reinschnuppern.
    Habe folgendes Skript
    PHP-Code:
    <?
    $dom=new DOMDocument();
    if ($dom->load('bestellung.xml'))
    {
        $elemente=$dom->getElementsByTagname('bestellung');
        foreach($elemente as $element)
        {
           
           if ($element->nodeName=="name") 
            {
                print"<h1>$element->textContent</h1";
            }
            print "$element->textContent . </br>";
        }
    }
    ?>
    dazu folgende XML-Datei

    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <bestellungen>
    	<kunde>
    		<name>Gutsche</name>
    		<vorname>Georg</vorname>
    		<Strasse>Blablastr..</Strasse>
    		<Nummer>76</Nummer>
    		<PLZ>78908</PLZ>
    		<Ort>Hausen</Ort>
    	</kunde>
    	<bestellung>
    		<artikel>
    			<artikelnummer>123458</artikelnummer>
    			<artikelname>Motherboard</artikelname>
    		</artikel>	
    	</bestellung>
    </bestellungen>
    Nun hatte ich gehofft mit der Zeile i

    Code:
    if ($element->nodeName=="name") 
            {
                print"<h1>$element->textContent</h1";
            }
    Festlegen zu können, wenn der Knoten "name" heist soll entsprechender htmlcode mit dem Knoteninhalt ausgeben werden. funzt aber net. Ich bin sicher ich verwende die falsche Methode. Habe aber noch nicht die richtige gefunden.

    Danke für den Tipp!

  • #2
    einer gute Beispiele

    http://www.php.net/manual/en/ref.domxml.php

    Kommentar


    • #3
      $elemente=$dom->getElementsByTagname('bestellung');
      Damit wird nur
      <bestellung>
      <artikel>
      <artikelnummer>123458</artikelnummer>
      <artikelname>Motherboard</artikelname>
      </artikel>
      </bestellung>
      ausgewählt.
      1. da gibt es kein Element oder Attribut name
      2. Wenn, dann wäre es in irgendeiner Form ein Kindknoten von $element
      3. Wie werden Kunde und Bestellung verknüpft? Warum stehen beide Knoten direkt unter bestellungen]? Wurde der Kunde auch bestellt?

      Kommentar


      • #4
        Wie werden Kunde und Bestellung verknüpft? Warum stehen beide Knoten direkt unter bestellungen]? Wurde der Kunde auch bestellt?
        Sollte ja auch nur eine Beispiel-XML Datei sein um die Sache zu testen. Wie es mit PHP funzt. Nicht mehr!

        Kommentar


        • #5
          Für eine konkrete Antwort musst du schon ein konkretes Beispiel bringen

          Kommentar


          • #6
            Und ich finde in solchen Belangen gerade Beispiele sehr aussagekräftig, insbesondere da es keinen Mehraufwand bedeutet hätte, es anders zu schreiben und das getElementsByTagname('bestellung') zeigt, dass eben doch eine Verknüpfung von bestellung und kunde gedacht wurde.

            Kommentar

            Lädt...
            X