Php 将数据库信息输出为XML
我尝试了4种不同的方法来提取数据库信息并将其显示为XML。但是,当我单击指定的按钮时,它会显示错误:Php 将数据库信息输出为XML,php,xml,Php,Xml,我尝试了4种不同的方法来提取数据库信息并将其显示为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 user
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();
?>
asXML('people.xml');
echo$xmlobj->asXML();
?>
编辑:我使用了另一种方法,我能够提取数据库信息并显示它,但它没有以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>';
?>
close();
回声';
?>
您正在写入文件
您没有将该文件的内容发送到浏览器
echo $xmlonj->asXML();
为什么要通过将字符串混合在一起,然后使用XML库将字符串转换为DOM,然后立即转换为文本来生成XML?我只是遵循了指南,但直到出现同样的错误,运气都不太好。这说明第2行的标题有问题。您确定这是关于PHP源代码第2行的PHP错误消息,而不是关于生成的XML第2行的浏览器错误消息吗?可能您的字符串混搭产生了无效的XML(我不知道,您没有提供
$\u XML
的值)。很抱歉,我不完全确定您的意思。该页给出了错误。该页包含以下错误:---第1列第2行的错误:文档为空-----下面是第一个错误之前的页面呈现。---然后呈现为空白。这是第二种情况。您的XML文档无效。PHP的第2行很好。通过混合字符串生成的XML有问题。查看$\uXML
的值。通过类似xmllint的方式传递该值。好的,我将检查它。你是什么意思把字符串混在一起?我还能如何格式化这个?