Я пытаюсь начать использовать XMLReader для обработки больших XML-файлов, но я получаю странный HTTP 400 Bad Request, когда я пытаюсь запустить следующий код:PHP XMLReader 400 Bad Request
<?php
$reader = new XMLReader();
$reader->open ("testfile.xml");
while ($reader->read()) {
switch ($reader->nodeType) {
case (XMLREADER::ELEMENT) :
echo "<" . $reader->name . "> <br>";
break;
case (XMLREADER::TEXT) :
if ($reader->hasValue) {
echo $reader->value . "<br>";
}
break;
}
}
$reader->close();
?>
I также попытался это так и получить тот же 400 Bad Request ошибку:
<?php
$reader = new XMLReader();
$reader->open ("testfile.xml");
while ($reader->read()) {
switch ($reader->nodeType) {
case (XMLREADER::ELEMENT) :
echo "<" . $reader->name . "> <br>";
$reader->read();
if (($reader->nodeType == XMLREADER::TEXT) && $reader->hasValue) {
echo $reader->value . "<br>";
}
break;
}
}
$reader->close();
?>
в обоих случаях ошибка уходит, когда я закомментировать echo reader->value ."<br>";
. Журналы ошибок Apache ничего не показывают. Кроме того, несмотря на ошибку 400, страница создается и визуализируется как ожидалось с элементами и текстовыми значениями (т. Е. Код работает, он просто дает ошибку HTTP).
Следует также отметить, что он работает без ошибок на небольшом, простом тестовом XML-файле с одним корнем и одним дочерним элементом с текстом. Это только в более сложном XML-файле, который я на самом деле намерен обработать, чтобы получить ошибку.
Заранее благодарим за любую помощь!