Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 定位XML文件时出错_Php_Xml - Fatal编程技术网

Php 定位XML文件时出错

Php 定位XML文件时出错,php,xml,Php,Xml,为了理解如何从XML中读取数据,我从一个非常基本的示例开始。因此,test.xml和index.php位于根目录中。下面的index.php代码返回加载XML失败。为什么会发生这种情况 <?php $source = './test.xml'; loadXml($source); function loadXml($source){ /* * Checks for

为了理解如何从XML中读取数据,我从一个非常基本的示例开始。因此,
test.xml
index.php
位于根目录中。下面的
index.php
代码返回
加载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....
     }
?>

有几种可能性:

  • 加载xml之前,先检查文件是否确实存在。我知道你是说它在那里,但为了以防万一,做这个检查总是值得的:
    if(is_file($source))
  • XML的格式可能不正确。您可以通过以下在线服务进行检查:。不过,最容易检查的一件事是XML声明前没有空格