2012-06-10 227 views
2

我需要使用外部XML文件,我試過不同的方法來讀取文件,但無法達到我想要的。閱讀外部XML文件

我用DOMDocumentsimplexml_load_file

<? 

$xml = simplexml_load_file("http://www.isecur1ty.org/InternetThreat/ThreatLevel.xml"); 

echo $xml->getName() . "<br />"; 

foreach($xml->children() as $child) 
{ 
    echo $child->getName() . ": " . $child . "<br />"; 
} 

?> 

但不能讓它和我一起工作!

下面是XML文件:

<iS-InternetThreat> 
    <level> 
     <current>2</current> 
     <previous>2</previous> 
     <status>same</status> 
     <date>09-06-2012</date> 
    </level> 
    <version>2.5</version> 
</iS-InternetThreat> 

正如你所看到的,有多種層次。我需要獲取每個屬性的值(主要在「級別」下),獲取版本也可以。

有人可以告訴我該怎麼做?

謝謝。

+1

什麼對您的代碼不起作用?這些信息對幫助你的人非常有幫助。 – Vulcan

+0

@Vulcan:查看下面的答案:) – sikas

回答

3

好,知道了:d

這裏是解決方案,希望任何人都可以發現它有用。

<? 

    $file = 'http://www.isecur1ty.org/InternetThreat/ThreatLevel.xml'; 
    if(!$xml = simplexml_load_file($file)) 
     exit('Failed to open '.$file); 
    print_r($xml); echo "<br />"; 
    echo "Current Level : " . $xml->level->current . "<br />" . 
     "Previous Level : " . $xml->level->previous . "<br />" . 
     "Status : " . $xml->level->status . "<br />" . 
     "Date : " . $xml->level->date . "<br />" . 
     "Version : " . $xml->version . "<br />" 

?> 
+0

我也希望如此... – jos

4

訪問他們像這樣:

<?php 
    $xml = simplexml_load_file("http://www.isecur1ty.org/InternetThreat/ThreatLevel.xml"); 
    echo $xml->level->date; 
?> 
+0

我剛剛在你添加答案之前就想通了:) ..謝謝。 – sikas