2015-11-15 4 views
0

Я пробовал около 4 различных попыток вытащить информацию о моей базе данных и отобразить ее как XML. Однако, когда я нажимаю на кнопку обозначенную, отображается сообщение об ошибке:Вывод данных базы данных в формате XML

error on line 2 at column 1: Document is empty 

Мое соединение работает нормально, так что это не проблема, но я не пробовал это раньше, так что я должен быть видом что-то.

Generatexml.php

<?php 
header('Content-type: text/xml'); 
include 'connection.php'; 
$query = "SELECT * FROM users"; 
$result = mysqli_query($mysqli_conn, $query) or die ("Error in query: $query. ".mysql_error()); 
//Top of xml file 
$_xml .="<people>"; 
    while($row = mysqli_fetch_array($result)) { 
     $_xml .="<person>"; 
     $_xml .="<firstname>".$row['FirstName']."</firstname>"; 
     $_xml .="<lastname>".$row['LastName']."</lastname>"; 
     $_xml .="<username>".$row['Username']."</username>"; 
     $_xml .="<password>".$row['Password']."</password>"; 
     $_xml .="<id>".$row['P_Id']."</id>"; 
     $_xml .="</person>"; 
     } 
     $_xml .="</people>"; 
//Parse and create an xml object using the string 
$xmlobj=new SimpleXMLElement($_xml); 
//write to an XML file 
$xmlobj->asXML('people.xml'); 
echo $xmlobj->asXML(); 
?> 

EDIT: Я использовал другой метод, я могу вытащить информацию из базы данных и отобразить его, но он не отображается в формате XML.

<?php 
include 'connection.php'; 

//query the database  
$sqlQuery = "SELECT * FROM users"; 

//run query 
if ($result = mysqli_query($db, $sqlQuery)) { 
header('Content-type: text/xml'); 
echo '<?xml version="1.0" encoding="utf-8"?>'; 
echo '<results>'; 
echo '<people>'; 
    //fetch associative array 
while ($row = mysqli_fetch_assoc($result)) { 
echo '<person>'; 
echo '<firstname>' . $row["FirstName"] . '</firstname>'; 
echo '<lastname>' . $row["LastName"] . '</lastname>'; 
echo '</person>'; 
} 
echo '</people>'; 
} 
//close the database connection 
$db->close(); 
echo '</results>'; 
?> 
+0

Почему вы генерируете свой XML путем сшивания строк вместе, а затем с помощью библиотеки XML для преобразования строк в DOM, а затем сразу же возвращаетесь к тексту? – Quentin

+0

Я только что последовал за гидами, но не повезло – user2326995

ответ

0

Вы пишете файл.

Вы не отправляете содержимое этого файла в браузер.

echo $xmlonj->asXML(); 
+0

По-прежнему такая же ошибка. Он утверждает, что есть проблема с заголовком в строке 2 – user2326995

+0

Вы уверены, что это сообщение об ошибке PHP о строке 2 исходного кода PHP, а не сообщение об ошибке браузера о строке 2 генерируемого XML? Вероятно, ваше слияние строк создает недопустимый XML (я не могу сказать, вы не указали значение '$ _xml'). – Quentin

+0

Извините, я не совсем уверен, что вы имеете в виду. Страница дает ошибку. Эта страница содержит следующие ошибки: --- ошибка в строке 2 в столбце 1: Документ пуст --- Ниже представлен рендеринг страницы до первой ошибки. --- Затем рендеринг пуст. – user2326995

Смежные вопросы