我想用PHP
解析xml
文件。我使用了以下代码:
$images = parsage("Rambod_catalog.xml", "Thumbnail");
$prices = parsage("Rambod_catalog.xml", "Retail_Price");
echo sizeof($images);
function getindex($element, $liste) {
for($i=0;$i<sizeof($liste);$i) {
if($liste[$i] == $element)return $i;
}
return 0;
}
function parsage($document, $noeud) {
$document_xml = new DomDocument;
$document_xml->load($document);
$elements = $document_xml->getElementsByTagName($noeud);
return $elements;
}
但是我得到了这个异常:
Warning: DOMDocument::load() [domdocument.load]: I/O warning :
failed to load external entity "/Rambod_catalog.xml"
那么,问题是什么呢?我如何修复我的代码?
"/Rambod_catalog.xml"
您所提供的路径无效。不幸的是,您在这里所写的是指文件系统根。文件存储在当前目录中并删除前导斜杠或指定完整路径。(include_path有时不可靠)。
你应该引用像CONSTANT_TO_DOCUMENT_ROOT.PATH_SEPARATOR这样的文件。$fileName,以便灵活。
也请参阅getcwd()和$_SERVER全局变量,并且在需要时,print_r或var_dump保留的全局变量以查找您可能用于CONSTANT_TO_DOCUMENT_ROOT的内容。