2011-12-05 15 views
5

मैं एक्सएमएल समारोहनहीं पढ़ सकते हैं php

का उपयोग कर इस myvery सरल कोड है php में याहू आरएसएस (http://news.yahoo.com/rss/us) को पढ़ने के लिए कोशिश कर रहा हूँ में याहू एक्सएमएल फ़ीड:

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

लेकिन मैं शून्य पता चलता है:

[email protected]: php test.php 
NULL 

मेरी एक्सएमएल टूट गया है? या xml फ़ाइल पढ़ने के लिए PHP में एक बेहतर फ़ंक्शन है?

मैं देख सकता हूं कि एक्सएमएल फ़ाइल में elment मौजूद है और मैंने फ़ाइल को अपने कंप्यूटर में सही ढंग से डाउनलोड किया है।

+0

[simplexml_load_file] (http://php.net/manual/en/function.simplexml-load-file.php) एक वस्तु वापस नहीं एक सरणी: 'क्लास SimpleXMLElement की ऑब्जेक्ट देता है जिसमें XML दस्तावेज़ के भीतर रखे गए डेटा, या विफलता पर FALSE शामिल हैं। –

उत्तर

6

SimpleXML एक ऑब्जेक्ट देता है, एक सरणी नहीं। इस प्रयास करें:

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

ओह यह काम करता है, क्या इसका मतलब है कि मैं सरणी का उपयोग नहीं कर सकता? जैसे [] और नहीं -> – Adam

+0

यदि आप सरणी का उपयोग करना पसंद करते हैं तो आप 'xxml = (array) $ xml के साथ टाइपकास्ट कर सकते हैं;' सरलxml कॉल के बाद। – Tak

+0

मुझे यह पसंद है - धन्यवाद मैं अन्य चीजों की तुलना में यह अधिक आसान उपयोग करूंगा – Adam

0

कुछ इस तरह:

 
$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

मुझे यह मिलता है: PHP पार्स त्रुटि: वाक्यविन्यास त्रुटि, अप्रत्याशित '' ',', 'या'; 'की अपेक्षा लाइन पर 0v31/rs/phs.php में 7 – Adam

+0

ठीक है सभी उद्धरण हटा दिए गए हैं, क्या आप इसे एक बार चेक कर सकते हैं, यह मेरे लिए काम कर रहा है –

+0

ठीक है, इसे आज़माएं – Adam

संबंधित मुद्दे