2012-04-21 43 views
-1
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<pages> 
<page> 
    <title>Home</title> 
    <content>Lorem Ipsum</content> 
</page> 
<page> 
    <title>Pictures</title> 
    <content>Lorem Ipsum</content> 
</page> 
<page> 
    <title>Information</title> 
    <content>Lorem Ipsum</content> 
</page> 
</pages> 

我的XML這種 「真簡單」 的SimpleXML scrip't不工作

$url = "xml->build.xml"; 
$xml = simplexml_load_file($url); 

$i = 1; 

foreach($xml->page as $page) { 
    echo "<strong>Page ".$i.":</strong> ".$page->title."<br/>"; 
    $i++; 
} 

我的PHP

我越來越:

警告:使用simplexml_load_file():我/ O警告:無法加載外部實體「xml-> build.xml」

只是從那個簡單的腳本!有任何想法嗎? :)

更新,這是確切的XML文件

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<pages> 
<page> 
    <title>Home</title> 
    <content>Lorem Ipsum</content> 
</page> 
<page> 
    <title>Pictures</title> 
    <content>Lorem Ipsum</content> 
</page> 
<page> 
    <title>Information</title> 
    <content>Lorem Ipsum</content> 
</page> 
</pages> 
<css> 
<css-tag> 
    <title>background-color</title> 
    <value>#FFF</value> 
</css-tag> 
</css> 
<layout>1</layout> 
+4

你確實有一個名爲磁盤上的文件「 XML->的build.xml「?如果不是,您從哪裏取得XML? – rid 2012-04-21 00:58:32

+0

就是這麼說[這裏](http://webhole.net/2009/07/26/how-to-parse-xml-with-php-part-3-last-fetching-the-results/)我試過「$ url =」build.xml「;」但我得到更多的錯誤 – 2012-04-21 01:00:12

+0

那麼,*其中*是你的XML文件? – rid 2012-04-21 01:00:39

回答

1

發生的事情,因爲你試圖讀取一個文件,是不存在的。如果你的文件被命名爲build.xml並存儲在同一目錄中的PHP腳本,替換:

$url = "xml->build.xml"; 

有:

$url = dirname(__FILE__) . "/build.xml"; 
+0

獲取更多錯誤:/ – 2012-04-21 01:05:30

+0

警告:simplexml_load_file():/customers/MYSITENAME/MYSITENAME/httpd.www/userthemes/buildtest/build/build.xml:17:解析器錯誤:在文檔結尾的額外內容在/ customers/MYSITENAME/MYSITENAME/httpd.www/userthemes/buildtest/build/getpages.php on line 11警告:simplexml_load_file():在/customers/MYSITENAME/MYSITENAME/httpd.www/userthemes/buildtest/build/getpages.php上第11行警告:simplexml_load_file():^在第11行的/customers/MYSITENAME/MYSITENAME/httpd.www/userthemes/buildtest/build/getpages.php – 2012-04-21 01:08:11

+0

警告:爲/ foreach()/ customers/MYSITENAME/MYSITENAME中的foreach /httpd.www/userthemes/buildtest/build/getpages.php第15行 – 2012-04-21 01:08:17

0

我不知道爲什麼你得到這樣的錯誤,但是這可能會幫助您解決它

我不認爲xml->build.xml是一個有效的名稱或者你能也將其更改爲類似build.xml

嘗試

$url = "build.xml"; 
if(!is_file($url)) 
    die("File Does not exist"); 

if(!is_readable($url)) 
    die("File is not readeable"); 


$xml = simplexml_load_string(file_get_contents($url)); 
var_dump($xml); 

$xml = simplexml_load_file($url); 
var_dump($xml); 

如果simplexml_load_string作品肯定simplexml_load_file將工作太

更新

你的XML是錯誤的格式應該是這樣的

$url = '<?xml version="1.0" encoding="ISO-8859-1" ?> 
<doc> 
<pages> 
<page> 
    <title>Home</title> 
    <content>Lorem Ipsum</content> 
</page> 
<page> 
    <title>Pictures</title> 
    <content>Lorem Ipsum</content> 
</page> 
<page> 
    <title>Information</title> 
    <content>Lorem Ipsum</content> 
</page> 
</pages> 
<css> 
<css-tag> 
    <title>background-color</title> 
    <value>#FFF</value> 
</css-tag> 
</css><layout>1</layout> 
</doc>'; 
+0

Omg這只是越來越差xD甚至更多的錯誤與此腳本:(也許我的網站酒店不運行「simplexml」,或者它是東西內置到PHP? – 2012-04-21 01:10:52

+0

告訴我你現在得到什麼確切的錯誤...你通過前兩個階段???你重命名文件,我問了嗎??? – Baba 2012-04-21 01:12:02

+0

是的,完全複製你的腳本,所以而不是xml-> build.xml,我只是使用build.xml作爲URL – 2012-04-21 01:13:50