How to get media:content mit SimpleXML
Ich habe einen XML-feed, den ich konnte zum abrufen der news über Zypern auf einer Nachrichten-Website.
Ich will news Bilder und natürlich die Nachricht selbst.
Hier ist ein Beispiel von xml -
<item>
<title>Rumlardan KKTC üniversitelerine ambargo</title>
<description>
<![CDATA[<p><a href="http://www.ntvmsnbc.com/id/25368624/">
<img align="left" border="0" src="http://media.ntvmsnbc.com/j/NTVMSNBC/Components/ArtAndPhoto-Fronts/Sections-StoryLevel/Dünya/Kıbrıs/120723girne.thumb.jpg" alt="" style="margin:0 5px 5px 0" /></a>
Kıbrıs Rum yönetimi, KKTC'deki üniversitelerle işbirliği yapan ülkelerin eğitim kurumlarına resmi yazılar göndererek yetkilileri tehdit ediyor. Hindistan üniversitesinden ortak akademik programlara son verilmesi istendi.</p><br clear="all" />]]>
</description>
<link>http://www.ntvmsnbc.com/id/25368624/</link>
<media:content medium="image" url="http://media.ntvmsnbc.com/j/NTVMSNBC/Components/ArtAndPhoto-Fronts/Sections-StoryLevel/Dünya/Kıbrıs/120723girne.thumb.jpg">
<media:text>
<![CDATA[<p><a href="http://www.ntvmsnbc.com/id/25368624/">
<img align="left" border="0" src="http://media.ntvmsnbc.com/j/NTVMSNBC/Components/ArtAndPhoto-Fronts/Sections-StoryLevel/Dünya/Kıbrıs/120723girne.thumb.jpg" alt="" style="margin:0 5px 5px 0" />
</a>
</p>
<br clear="all" />]]>
</media:text>
</media:content>
<pubDate>Mon, 23 Jul 2012 14:27:32 GMT</pubDate>
<category>Haberler</category>
<guid isPermaLink="true">http://www.ntvmsnbc.com/id/25368624/</guid>
</item>
Den link xml : http://www.ntvmsnbc.com/id/24928068/device/rss/rss.xml
Ich jetzt Parsen von xml mit simpleXML mit folgenden code. Auf dieser code konnte ich verhindern, dass die Anzeige <img>
tag mit strip_ tags konnte ich nur die Anzeige der text-Daten in CDATA.
Kurz was ich mich Frage ist, wie bekomme ich media:content url=""
in meinem code den ich ändern will thumb.jpg zu hlarge.jpg in dieser url .
Versuchte ich $d['media'] = $news->media->attributes();
'<p>'.$post['media']['url'].
aber es funktioniert nicht
Hier ist mein code :
<?
$NewsFeedUrl = "http://www.ntvmsnbc.com/id/24928068/device/rss/rss.xml";
$xml = @simplexml_load_file($NewsFeedUrl);
if(is_object($xml)){
//Rest of our code will be here
}else{
die('Güncel Haberlere Bağlanılamıyor.');
}
foreach($xml->channel->item as $news){
if(is_array($newsContent) && count($newsContent)==$amountToShow){
}
$description = $news->description;
$d['title'] =$news->title;
$d['link'] = $news->link;
$d['media'] = $news->media->attributes();
$d['cont'] = $news->description;
$d['date'] = $news->pubDate;
$newsContent[]=$d;
}
//$ad=array("thumb", "left");
if(is_array($newsContent)){
foreach($newsContent as $post){
echo '
<article class="entry"><h3>'.'<a href="'.$post['link'].' "target="_blank">'.$post['title'].'</a></h3>
'.'<div class="meta"><span class="date_post">'.$post['date'].'</span>'.$post['pubDate'].
//'<p>'.str_replace($ad,"hlarge",$post['cont']).
'<p>'.$post['cont'].
'<p>'.strip_tags($post['cont']).
//'<p>'.$post['media']['url'].
'<p><a href="'.$post['link'].' "target="_blank" class="button">Devamını Oku</a>'.
' </article>';
}
}else{
echo '<p>Güncel Haberler Alınamadı Sayfayı Yenilemeyi Deneyin.</p>';
}
?>
- Ihre Hilfe wird sehr geschätzt.
- Hoffe es hilft: stackoverflow.com/q/595946/831797
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
content
element ein namespace-Präfix (<media:content>
), so kann nicht zugegriffen werden, die mit den üblichen Mitteln.Namespace-URI für "Medien" ist aus
http://search.yahoo.com/mrss/
(überprüfen Sie Ihrerss.xml
für "xmlns:media").Versuchen Sie dies:
EDIT :
Ich denke, es gibt einige Probleme mit der namespace-uri "http://search.yahoo.com/mrss/"
Versuchte ich mit Ihre xml :
http://codepad.org/P90bOQUj [funktioniert nicht]
Versuchte ich mit anderen xml :
http://codepad.org/ADYveL6T [arbeiten]
foreach($xml->channel->item as $news){ if(is_array($newsContent) && count($newsContent)==$amountToShow){ } $description = $news->description; $d['title'] =$news->title; $d['link'] = $news->link; $d['media'] = $news->media->attributes(); $d['cont'] = $news->description; $d['date'] = $news->pubDate; $ns_media = $news->children('http://search.yahoo.com/mrss/'); $ns_media->content; $newsContent[]=$d; }
echo '<p>'.$ns_media. }
aber hat nicht funktioniert