gondor: XML-Parser von dpa-News

Hallo,

ich lese ein XML-Dokument mittels SimpleXML ein.

$xml = simplexml_load_file(PATH_site."fileadmin/dpa_upload/dpa.xml");

Mit $xml->body lese ich den body aus.

Nun möchte ich auf die einzelnen Knoten zugrifen, bekomme aber Probleme:

var_dump($xml->body):

object(SimpleXMLElement)#11 (1) { ["body.head"]=>  object(SimpleXMLElement)#13 (2) { ["hedline"]=>  object(SimpleXMLElement)#16 (1) { ["hl1"]=>  string(13) "Fussball-News" } ["byline"]=>  object(SimpleXMLElement)#17 (0) { } }

Wie komme ich an den Wert: hedline?

Danke für Hilfe,

gondor(..)

  1. Hallo gondor,

    Wenn du folgende XML-Struktur hast:

    <?xml version="1.0"?>  
      <body>  
        <headline>  
          ....  
        </headline>  
      </body  
    
    

    kommst du an die headline mit

    $xml->body->headline.

    Beste Grüße
    Richard

    --
    ~§%+
    1. Hallo gondor,

      Wenn du folgende XML-Struktur hast:

      <?xml version="1.0"?>

      <body>
          <headline>
            ....
          </headline>
        </body

      
      >   
        
      Hallo Richard,  
        
      ich habe folgende Struktur (mit .-Notation!):  
        
      <body>  
      <body.head>  
      <hedline><hl1>Fussball-News</hl1></hedline>  
      <byline></byline>  
      </body.head>  
      <body.content>  
      <block style="slide">  
      <media media-type="image">  
      <media-reference alternate-text="" source="../dpa-MobileMMS-images/jpeg1a0c2427-20021028\_2830952.thumbnail.jpg" mime-type="image/jpeg" width="80" height="59" />  
      <media-reference alternate-text="" source="../dpa-MobileMMS-images/jpeg-1a0c2427-20021028\_2830952.onlineBild.jpg" mime-type="image/jpeg" width="400" height="297"/>  
      <media-caption><p>Scholl bejubelt seinen Siegtreffer gegen Hannover</p></media-caption> </media>  
      <p>Jerusalem (dpa) - Vertreter der israelischen Arbeitspartei und  
      der Likud-Partei von Ministerpräsident Ariel Scharon haben verhindert.<br/>  
      Ergebnisse<br/>  
      Bayern - Leverkusen 2:1<br/>  
      Bremen – Dortmund 1:4<br/>  
      Tabelle<br/>  
      1\. Bayern 14 P.<br/>  
      2\. Dortmund 13<br/>  
      </p>  
      </block>  
      </body.content>  
      <body.end/>  
      </body>  
        
      Wie kann ich auf diese Tags zugreifen?  
        
      gondor(..)
      
      1. Hallo gondor,

        ich habe folgende Struktur (mit .-Notation!):

        Hat der Punkt irgendeine besondere Bedeutung? Ansonsten greifst du jeweils mit dem Objektoperator -> auf die Unterelemente zu. Was hast du am entsprechenden Kapitel im Manual nicht verstanden?

        Beste Grüße
        Richard

        --
        ~§%+
        1. Hallo Richard,

          Hallo gondor,

          ich habe folgende Struktur (mit .-Notation!):

          Hat der Punkt irgendeine besondere Bedeutung?

          Ja, das ist laut dpa vorgegeben und Standard...

          Ansonsten greifst du jeweils mit dem Objektoperator -> auf die Unterelemente zu. Was hast du am entsprechenden Kapitel im Manual nicht verstanden?

          Alles soweit verstanden, jedoch bleibt das Problem wie ich auf die Knoten mit der Punkt-Notation komme.

          gondor(..)

  2. hi,

    Nun möchte ich auf die einzelnen Knoten zugrifen, bekomme aber Probleme:

    var_dump($xml->body):

    object(SimpleXMLElement)#11 (1) { ["body.head"]

    Ja, da der Punkt nun mal in PHP der Verkettungsioperator ist, geht $xyz->body.head hier natürlich nicht.

    Man könnte natürlich
    $elementName = 'body.head';
    $xyz->$elementName
    nutzen - oder auch einfach $xyz->{'body.head'}

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }