为了了解如何从XML中读取数据,我从一个非常基本的示例开始。因此,test.xml
和index.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....
}
?>
有两种可能性:
- 在加载xml之前,请先检查该文件是否确实存在。我知道你说它在那里,但做这个检查总是值得的,以防万一:
if (is_file($source))
- XML的格式可能不正确。您可以通过在线服务进行检查,例如http://www.xmlvalidation.com/.不过,最容易检查的一件事是,在XML声明
<?xml version='1.0'?>
之前没有空白