Autor durch XML Feed auslesen

  • Hallo,

    ich habe per PHP den Titel und den Text der Beiträge aus dem XML Feed auslesen können, jedoch bekomme ich es nicht hin, den Autor auch auszulesen.

    Hier der wichtige Teil des Skiptes:

    Über jede Hilfe würde ich mich freuen!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Naja, ich lese die Daten ja aus der XML Datei aus, da kann ich ja nicht einfach die Wordpress Funktionen benutzen.

    Gruß

    Stimmt, da wirst du nicht weit kommen. ;)

    Wie hast du denn das mit dem Titel rausbekommen?
    Stand das im Quelltext vom RSS Feed drinne?

    Dann sollte eigentlich auch der Autortag aufgeführt sein, sofern dieser verwendet wird.

    Bei meinem steht <dc:creator>, falls dir das weiterhilft.

    Bitte keine Fragen per PM, oder Foren-Chat. Für Fragen ist das öffentliche Forum da. Meine Uerdinger Seite

  • Hey,
    jo im Quelltext kann mans rauslesen.

    PHP
    <rss version="2.0"     xmlns:content="http://purl.org/rss/1.0/modules/content/"     xmlns:wfw="http://wellformedweb.org/CommentAPI/"     xmlns:dc="http://purl.org/dc/elements/1.1/"     xmlns:atom="http://www.w3.org/2005/Atom"     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"     xmlns:slash="http://purl.org/rss/1.0/modules/slash/"     >  <channel>     <title>HoN-Fans.de</title>     <atom:link href="http://www.hon-fans.de/hon/feed/" rel="self" type="application/rss+xml" />     <link>http://www.hon-fans.de/hon</link>     <description></description>     <lastBuildDate>Tue, 19 Oct 2010 16:50:49 +0000</lastBuildDate>     <language>en</language>     <sy:updatePeriod>hourly</sy:updatePeriod>     <sy:updateFrequency>1</sy:updateFrequency>     <generator>http://wordpress.org/?v=3.0</generator>         <item>         <title>DH Winter 2010 – die erste Wildcard geht nach Russland</title>         <link>http://www.hon-fans.de/hon/heroes-of-newerth/dh-winter-2010-die-erste-wildcard-geht-nach-russland/</link>         <comments>http://www.hon-fans.de/hon/heroes-of-newerth/dh-winter-2010-die-erste-wildcard-geht-nach-russland/#comments</comments>         <pubDate>Tue, 19 Oct 2010 16:50:49 +0000</pubDate>         <dc:creator>Ichi</dc:creator>                 <category><![CDATA[Heroes of Newerth]]></category>          <guid isPermaLink="false">http://www.hon-fans.de/hon/?p=631</guid>         <description><![CDATA[Das russische Team Empire Multigaming [Empr] konnte sich als erstes Team überhaupt für das Heroes of Newerth Turnier auf der diesjährigen DreamHack Winter qualifizieren. Im Qualifikations-Finale setzten sich die Russen vorgestern souverän mit 2:0 gegen das schwedische Team MILF International [MILF] durch. Das erste Spiel war schon nach knapp 30<a href="http://www.hon-fans.de/hon/heroes-of-newerth/dh-winter-2010-die-erste-wildcard-geht-nach-russland/" title="Den ganzen Beitrag lesen"> [weiterlesen]</a>]]></description>             <content:encoded><![CDATA[<p>Das russische Team <em>Empire Multigaming [Empr] </em>konnte sich als erstes Team überhaupt für das Heroes of Newerth Turnier auf der diesjährigen DreamHack Winter qualifizieren.</p> <p>Im Qualifikations-Finale setzten sich die Russen vorgestern souverän mit 2:0 gegen das schwedische Team <em>MILF International</em> <em>[MILF] </em>durch.</p> <p>Das erste Spiel war schon nach knapp 30 Minuten entschieden, aber auch im zweiten Spiel zeigte sich der große Skill-Unterschied.</p> <p><em>[MILF] </em>siegte über <em>The Hatchet Pyros</em>, welche im Viertelfinale <em>FnaticMSI </em>aus dem Turnier geworfen hatten.</p> <p>Dagegen schlug sich <em>[Empr]</em> auf dem Weg ins Finale durch den Steelseries HoN World Cup South Asia Qualifikationsgewinner <em>DuskBin </em>und dem schwedischen Team <em>[Wahl]</em>.</p> <p>Beide Final-Spiele wurden von Honcast gestreamed und können hier angesehen werden:</p> <p>Spiel 1: <a href="http://hon.esportmedia.com/video/2010/10/17/play-dreamhack-qualification-tournament-empr-vs-4">VOD</a></p> <p>Spiel 2: <a href="http://hon.esportmedia.com/video/2010/10/17/play-dreamhack-qualification-tournament-empr-vs-2">VOD</a></p> <p>hon-fans.de wünscht viel Spaß beim ansehen.</p> <p>Ichi</p> <p>Quelle: gosugamer.net</p> ]]></content:encoded>             <wfw:commentRss>http://www.hon-fans.de/hon/heroes-of-newerth/dh-winter-2010-die-erste-wildcard-geht-nach-russland/feed/</wfw:commentRss>         <slash:comments>0</slash:comments>         </item>         <item>

    Den Titel hatte ich ja so rausgeholt:

    PHP
    $rss->channel->item as $i
    $title = $i->title;

    Also müsste man den Autor ja eigentlich so rausholen:

    PHP
    $rss->channel->item as $i
    $title = $i->dc:creator;

    Das hatte ich auch schon probiert, jedoch funktioniert das nicht. Ich glaub das ist in XML nen Array (also dc:creator).
    Ich weiß nur nicht, wie man das in PHP wiedergibt.

    Gruß

  • Am Anfang, direkt nach dem Einlesen des Feeds, besorgt man sich die Namespaces des Dokumentes:

    PHP
    $ns = $rss->getDocNamespaces();

    Namespaces sind die Teile vor dem Doppelpunkt bei einem Tag-Namen. Im Fall von <dc:creator> ist dc der Namespace. Die Daten zu so einem Namespace-Tag kann man sich dann mit der Funktion children besorgen:

    PHP
    foreach( $rss->channel->item as $i ) { 
        $dc = $i->children( $ns['dc'] ); 
        if( $dc )
            echo "Autor: ".$dc->creator;
    }

    Das funktioniert entsprechend auch für andere Namespaces, wie z.B. <content:encoded> und weitere.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!