1

我是否应该在文件夹中读取许多 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);
  }
}
?>

你能帮助我并告诉我该怎么做吗?谢谢-菲利波

4

2 回答 2

0

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

改成:

$xml = simplexml_load_file($dir . $file);  
于 2013-07-02T12:04:49.550 回答
0
$xml = simplexml_load_file($dir . $file);

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

https://php.net/simplexml_load_file(采用完整文件路径)

于 2013-07-02T12:07:17.820 回答