2012-06-10 275 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