Ich versuche, große XML-Dateien zu verarbeiten mit XMLReader zu beginnen, aber ich bin eine seltsame HTTP 400 Bad Request bekommen, wenn ich versuche, den folgenden Code auszuführen: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 auch es auf diese Weise versucht hat und die gleichen 400 Bad Request Fehler:
<?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();
?>
In beiden Fällen geht der Fehler weg, wenn ich echo reader->value ."<br>";
Kommentar aus. Apache-Fehlerprotokolle zeigen nichts an. Trotz des 400-Fehlers wird die Seite wie erwartet mit den Elementen und Textwerten erzeugt und gerendert (d. H. Der Code scheint zu funktionieren, er gibt nur einen HTTP-Fehler).
Es ist auch erwähnenswert, dass es scheint, ohne Fehler auf einer kleinen, einfachen Test-XML-Datei mit nur einem Stamm- und einem Kindelement mit Text zu funktionieren. Es ist nur auf der größeren komplizierteren XML-Datei, die ich eigentlich verarbeiten möchte, dass ich den Fehler erhalte.
Vielen Dank im Voraus für jede Hilfe!