定位XML文件时出错

时间:2012-07-20 10:09:49

标签: php xml

我从非常基本的示例开始,以了解如何从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 个答案:

答案 0 :(得分:0)

有几种可能性:

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