0

I've started with very basic example in order to understand how to read data from XML. So, test.xml and index.php are located in the root directory. The following code of index.php returns Failed Loading XML. Why this actually happens?

   <?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/などのオンラインサービスで確認できます。ただし、確認するのが最も簡単なことの1つは、XML宣言の前に空白がないことです。<?xml version='1.0'?>
于 2012-07-20T10:32:52.430 に答える