2014-03-02 41 views
0

我嘗試解析XML文件,但我只能在PHP代碼中直接添加XML時使用該代碼,但我需要使用外部文件來處理它。如何將外部xml文件添加到php解析器中

我嘗試了很多方法讓它工作,但沒有成功。

UPD。沒有建議是有幫助的,我自己找到了解決方案。

謝謝所有嘗試幫助我的人。

<?php 

    $url = "link to file"; 
    $domSrc = file_get_contents($url); 
    $dom = new DomDocument(); 
    $dom->loadXML($domSrc); 

     while(is_object($finance = $dom->getElementsByTagName("item")->item($i))) 
     { 
       foreach($finance->childNodes as $nodename) 
       { 
         if($nodename->nodeName=='id') 
          { 
          echo "<p>$nodename->nodeValue</p>"; 
          } 
      } 
     } 
     $i++; 
    } 
?> 
+0

請定義*外部文件*。外部是什麼意思?另請提供該文件的XML示例。也啓用錯誤報告和日誌記錄,這應該給你更多的提示,請參閱:[如何在PHP中獲取有用的錯誤消息?](http://stackoverflow.com/q/845021/367456) – hakre

回答

-1
$xml = simplexml_load_file('giveYourUrl'); 

嘗試

+0

這不起作用, ( – user3370633

0

DOM文檔有幾種方法來加載內容。在你的情況DOMDocument :: load()應該是正確的選擇。只需更換:

$doc->loadXML($xml); 

$doc->load($xml); 

該方法對PHP的streamwrappers全力支持。但總是使用絕對路徑而不依賴於當前工作目錄是一個好主意。

$xml = __DIR__.'/move.xml'; 
+0

)按照你寫的代替行,沒有任何反應 – user3370633

+0

聽起來像你的錯誤報告是低的,你應該至少得到一個消息,說明文件不能被讀取。 – ThW