在simplexml文件夹中读取许多xml文件

时间:2013-07-02 12:02:39

标签: php xml simplexml opendir

我应该读取文件夹中的许多xml文件并从这些数据中提取。 使用此代码

读取文件夹没有问题
<?php
$dir = "Dati/xml/nonletti/";
  if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
      if (($file !== '.') && ($file !== '..') ) {
  echo "$file \n";
  }
}
  closedir($dh);
}
}
?>

但如果我尝试使用simplexml来读取所有文件,我看不到任何内容

<?php
$dir = "Dati/xml/nonletti/";
if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
      if (($file !== '.') && ($file !== '..') ) {
    $xml = simplexml_load_file($file);  
        $RGSostituzione = $xml->attributes()->Sostituzione;
    echo "<li>File $file - <b>Sostituzione:</b> $RGSostituzione</li>";
    }
  }
  closedir($dh);
  }
}
?>
你可以帮助我告诉我该怎么办? 谢谢- 菲利普

2 个答案:

答案 0 :(得分:0)

当您读取目录中的文件时,您只获得基本文件名,而不是完整路径。因此,在进行SimpleXML调用时需要预先添加路径。

更改为:

$xml = simplexml_load_file($dir . $file);  

答案 1 :(得分:0)

$xml = simplexml_load_file($dir . $file);

http://php.net/manual/fr/function.readdir.php(返回文件名,而不是整个文件路径)

http://php.net/manual/fr/function.simplexml-load-file.php(采用完整文件路径)