定位XML文件时出错


Error while locating XML file

为了了解如何从XML中读取数据,我从一个非常基本的示例开始。因此,test.xmlindex.php位于根目录中。index.php的以下代码返回Failed Loading XML。为什么会发生这种情况?

   <?php
            $source = './test.xml';
            loadXml($source);

        function loadXml($source){ 
            /*
             * Checks for xml file errors
             */
            libxml_use_internal_errors(true);
            $xml = simplexml_load_file($source);
            if (!$xml){
                echo "Failed Loading XML'n";
                foreach(libxml_get_errors() as $error){
                    echo "'t", $error->message;
                }
            } else {
                    print_r($xml);
            }
            // etc....
     }
?>

有两种可能性:

  1. 在加载xml之前,请先检查该文件是否确实存在。我知道你说它在那里,但做这个检查总是值得的,以防万一:if (is_file($source))
  2. XML的格式可能不正确。您可以通过在线服务进行检查,例如http://www.xmlvalidation.com/.不过,最容易检查的一件事是,在XML声明<?xml version='1.0'?>之前没有空白