2

运行服务器:启用 XMLReader 的 php 5.2.17、libxml 2.7.8。

问题是,当我尝试 $xmlReader::ELEMENT 时,它抱怨 T_PAAMAYIM_NEKUDOTAYIM 的解析错误。

是否有任何特定版本引入了这种行为?因为它似乎在我的离线 5.3.6 服务器上工作正常......

    $xmlReader = new XMLReader;
    if (!$xmlReader->open('file.xml', null, 1<<19)){
        throw new Exception('Unable to read file',1);
    }

    # Go down to WEBRESOURCES node level
    while ($xmlReader::ELEMENT){ // This is what it throws the parse error for
        if ($xmlReader->name == "blahblah"){
            break;
        }
        $xmlReader->read();
    }

谢谢, 多姆

4

2 回答 2

3

使用类的名称而不是实例的名称。 XMLReader::ELEMENT

于 2011-06-27T11:05:38.080 回答
1

我认为你的while-loop 应该看起来像

while ($xmlReader->nodeType == XMLReader::ELEMENT) { 
    if ($xmlReader->name == "blahblah"){
        break;
    }
    $xmlReader->read();
}
于 2011-06-27T11:10:39.400 回答