0

为了了解如何从 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....
     }
?>
4

1 回答 1

0

有几种可能性:

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