XML无法加载错误

时间:2013-06-10 23:36:24

标签: php xml-parsing

我想用xml解析PHP个文件。我用了这段代码:

$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"

那么,问题是什么?我该如何修复我的代码?

1 个答案:

答案 0 :(得分:0)

"/Rambod_catalog.xml"

您提供的路径无效。不幸的是,你所写的内容是指文件系统root。文件存储在当前目录中,您删除前导斜杠或指定完整路径。 (include_path有时不可靠)。

你应该引用像CONSTANT_TO_DOCUMENT_ROOT.PATH_SEPARATOR。$ fileName这样的文件,以便灵活。

另见getcwd()$_SERVER global variable,需要使用print_r或var_dump reserved globlas来查找可用于CONSTANT_TO_DOCUMENT_ROOT的内容。