读取外部XML文件

时间:2012-06-10 08:46:44

标签: php xml

我需要使用外部XML文件,我尝试过不同的方法来读取文件,但无法达到我想要的效果。

我使用了DOMDocument simplexml_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>

如您所见,有多层次。我需要获取每个属性的值(主要在“级别”下),获得版本也可以。

有人能告诉我怎么做吗?

感谢。

2 个答案:

答案 0 :(得分:6)

像这样访问它们:

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

答案 1 :(得分:4)

好的,明白了: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 />"

?>