【发布时间】:2015-01-22 12:02:10
【问题描述】:
我有一个奇怪的错误,我真的不知道这怎么可能。 xmlreader 读取文件,但是当我尝试迭代它时,它仍然给我错误“消息:XMLReader::read():在尝试读取之前加载数据”。
这是我的代码:
$what = 'title';
$reader = new XMLReader;
if (!$reader->open(base_url().'resources/thexml.xml'))
{
die("Failed to open");
}
else
{
echo 'success!';
}
while($reader->read())
{
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'item')
{
$exp = $reader->expand();
if ($exp->nodeName == $what)
echo "<b>" . $exp->nodeName . " : </b>" . $exp->nodeValue . "<br />";
}
$reader->close();
}
这是输出:
成功! 遇到 PHP 错误
严重性:警告
消息:XMLReader::read():在尝试读取之前加载数据
文件名:controllers/welcome.php
行号:102
成功表明它读取了文件,但仍然给我需要先打开的错误。第 102 行是“while($reader->read())”行。请帮忙
【问题讨论】:
-
看起来 xml 无效。你能证明使用 xml 验证器吗? (例如:validator.w3.org)
-
好像无效。该链接给了我“对不起!无法检查此文档。” xml文件其实就是这个链接grid.mk/rss/kultura我刚刚右键另存为。为什么会无效?
-
第一个视图看起来不错。让我检查一下
-
我将编码更改为 utf-8 现在可以“此文档已初步检查为 XML”,颜色为绿色。也许我的代码中的编码也有问题?
-
可能...很难找出这里出了什么问题。我还在调查中