Ошибка синтаксического анализа XML в php - PullRequest
0 голосов
/ 28 декабря 2010

Когда я использую приведенный ниже код и анализирую xml локально, он работает нормально, но при загрузке того же скрипта на сервер выдает ошибку. код

Примечание: я извлек $lng и $lat из строки запроса, и он отлично работает локально.

$lng=$_GET['lng'];
$lat=$_GET['lat'];
$conn=new LoginSystem();
$conn->connect();
$dom = new DOMDocument("1.0");
$query="select catch_id,catch_details,image from mycatch where longitude='$lng' AND latitude='$lat'";
$result = mysql_query($query);
if (!$result) {
  die("Invalid query: " . mysql_error());
}
header("Content-type: text/xml");

// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)) {
  $node = $dom->createElement("mycatch");
  $node = $dom->appendChild($node);

  foreach ($row as $fieldname => $fieldvalue) {
       $child = $dom->createElement($fieldname);
       $child = $node->appendChild($child);
       $value = $dom->createTextNode($fieldvalue);
       $value = $child->appendChild($value);
  }
}

$conn->disconnect();
$xml_string = $dom->saveXML();
echo $xml_string;

На сервере я получаю эту ошибку. И документ тоже пустой .....

Эта страница содержит следующие ошибки:
ошибка в строке 2 в столбце 1: дополнительный контент в конце документа Ниже приведено отображение страницы до первой ошибки.

1 Ответ

1 голос
/ 28 декабря 2010

Возможно, вам потребуется определить корневой элемент для документа XML.

В настоящий момент у вас, похоже, есть

<mycatch>
 <catch_id>1</catch_id>
 <catch_details>details</catch_details>
 <image>image</image>
</mycatch>
<mycatch>
 <catch_id>2</catch_id>
 <catch_details>details</catch_details>
 <image>image</image>
</mycatch>
...

Но у вас нет такого корневого элемента, как:

<catches>
    <mycatch>
     <catch_id>1</catch_id>
     <catch_details>details</catch_details>
     <image>image</image>
    </mycatch>
    <mycatch>
     <catch_id>2</catch_id>
     <catch_details>details</catch_details>
     <image>image</image>
    </mycatch>
</catches>
...