PDA

View Full Version : خواندن xml از یک سایت دیگر



ehsan957
چهارشنبه 05 دی 1386, 12:10 عصر
با سلام
من می قصد دارم عنواین فید ها را با لینک هاشون از فید یک سایت بخونم و توی یک صفحه از سایتم نشون بدم.
برای همین منظورم از کد زیر استفاده می کنم.
منتها این کد فقط برای فایل های XML محلی جواب می ده



<?php
// DOMElement->getElementsByTagName() -- Gets elements by tagname
// nodeValue : The value of this node, depending on its type.
// Load XML File. You can use loadXML if you wish to load XML data from a string

$objDOM = new DOMDocument();
// $rss="http://tinyurl.com/28hwr7";
$objDOM->load("rss.php"); //make sure path is correct


$note = $objDOM->getElementsByTagName("item");
// for each note tag, parse the document and get values for
// tasks and details tag.

foreach( $note as $value )
{
$tasks = $value->getElementsByTagName("title");
$task = $tasks->item(0)->nodeValue;


$details = $value->getElementsByTagName("link");
$detail = $details->item(0)->nodeValue;
?>
<a href="<?php echo $detail; ?>"><?php echo $task; ?></a> <br/>
<?php
}
?>


کد بالا مشکل نداره ولی وقتی به جای rss.xml از یک URL مثل "http://tinyurl.com/28hwr7" استفاده می کنم، نتیجه ای به ما نمی دهد.

oxygenws
چهارشنبه 05 دی 1386, 13:12 عصر
آدرس مستقیم rss رو بده و امتحان کن. آدرس tinyurl ریدایرکت میشه و در حقیقت لینک اصلی tinyurl حامل rss نیست!

اگر نشد، اون موقع بیا دوباره مشکلت رو بپرس :)

ehsan957
چهارشنبه 05 دی 1386, 13:20 عصر
این آدرسم http://perspolis-club.net/Rss.aspx?Type=News&lan=fa
داده بودم جواب نداده بود.
همین آدرس را روی یک فایل Save کردم جواب داد. مشکل من با URL هستش. اگه می تونین بهم کمک کنین، یک دنیا ممنون میشم

oxygenws
چهارشنبه 05 دی 1386, 13:36 عصر
$url = 'http://perspolis-club.net/Rss.aspx?Type=News&lan=fa';
$objDOM->loadXML(file_get_contents(urlencode($url)));

ehsan957
چهارشنبه 05 دی 1386, 13:48 عصر
با url_encode() مشکل دارم
ای خدا...
میگه تابع تعریف نشده

oxygenws
چهارشنبه 05 دی 1386, 14:01 عصر
با url_encode() مشکل دارم
ای خدا...
میگه تابع تعریف نشده
یک کم خلاقیت هم بد نیست :)
کد بالا رو درست کردم.

ehsan957
چهارشنبه 05 دی 1386, 14:44 عصر
خیلی ممنونم
----------------
مشکلش اینه که با URL هیچ خروجی نمیده :ناراحت:

oxygenws
چهارشنبه 05 دی 1386, 15:00 عصر
تو یک فایل دیگه اینو بنویس ببین خروجیش درسته یا نه:


$url = 'http://perspolis-club.net/Rss.aspx?Type=News&lan=fa';
echo file_get_contents(urlencode($url));

</span></span>

ehsan957
چهارشنبه 05 دی 1386, 15:21 عصر
نه جواب نمیده
به جز این آدرس یه آدرس دیگه هم از فایل RSS هم بهش دادم جواب نداد
اون آدرسم این بود: http://mahnameh.ir/rss.xml

oxygenws
چهارشنبه 05 دی 1386, 15:43 عصر
خوب خروجیش چیه؟

ehsan957
پنج شنبه 06 دی 1386, 14:56 عصر
اصلا خروجی نداره، صفحه سفیدِ سفید

تو رو خدا کمکم کنید

amirhosein
پنج شنبه 06 دی 1386, 15:40 عصر
اگه با پی اچ پی نیوک آشنایی یه نگاه به کدهای اون در مورد بلاکهای rss خوان بنداز شاید کارتو راه انداخت.
در ضمن یه مثال از تو اینترنت پیدا کن و تستش کن ببین اصلا مشکل از کدته یا کلا مشکل داری.

armin390
پنج شنبه 06 دی 1386, 22:10 عصر
urlencode رو حذف کن
ممکنه اصلاً اجازه اش رو نداشته باشی allow_url_fopen رو چک کن...

ehsan957
جمعه 07 دی 1386, 15:08 عصر
مشکل از سرور بود.

مرگ بر پارسه گیگ