2011-12-05 25 views
5

tôi đang cố gắng để đọc rss yahoo (http://news.yahoo.com/rss/us) trong php sử dụng chức năng xmlkhông thể đọc feed xml yahoo trong php

đây là myvery mã đơn giản:

$xml = simplexml_load_file('xml.xml'); 
var_dump($xml['channel']); 

nhưng tôi thấy NULL:

[email protected]: php test.php 
NULL 

được XML của tôi bị hỏng? hoặc có một chức năng tốt hơn trong php để đọc tập tin xml?

tôi có thể thấy elment tồn tại trong tệp XML và tôi đã tải xuống tệp chính xác trong máy tính của mình.

+0

[simplexml_load_file] (http://php.net/manual/en/function.simplexml-load-file.php) trả về một đối tượng không một mảng: 'Trả về một đối tượng của lớp SimpleXMLElement với các thuộc tính chứa dữ liệu được lưu giữ trong tài liệu XML, hoặc FALSE về lỗi. ' –

Trả lời

6

SimpleXML trả về một đối tượng chứ không phải mảng. Hãy thử điều này:

<?php 
$xml = simplexml_load_file('http://news.yahoo.com/rss/us'); 
var_dump($xml->channel); 
?> 
+0

oh nó hoạt động, có nghĩa là tôi không thể sử dụng mảng? như [] và không -> – Adam

+0

Nếu bạn thích sử dụng mảng, bạn có thể định kiểu với '$ xml = (mảng) $ xml;' sau cuộc gọi simplexml. – Tak

+0

tôi thích điều đó - cảm ơn tôi sẽ sử dụng điều này dễ dàng hơn nhiều so với những điều khác – Adam

0

Something như thế này:

 
$rss = simplexml_load_file('http://news.yahoo.com/rss/us'); 

echo $rss->channel->title; 

foreach ($rss->channel->item as $item) { 
    echo $item->link. " -- " .$item->title; 
    echo $item->pubDate; 
    echo $item->description; 
} 
+0

tôi nhận được điều này: Lỗi phân tích cú pháp PHP: lỗi cú pháp, không mong muốn '' ', mong', 'hoặc'; ' trong /var/www/rss.php trên dòng 7 – Adam

+0

ok loại bỏ tất cả các trích dẫn, bạn có thể chekc nó một lần, điều này là làm việc cho tôi –

+0

ok hãy để tôi thử nó – Adam