I'm trying to display raw XML within HTML. If there's no HTML elements the XML displays fine However soon as I add my content, I am given this error
error on line 37 at column 6: XML declaration allowed only at the start of the document
After doing some research, the problem is common with having white spaces but I cant notice any. Heres my source code in question.
<?php require 'header.php'; ?>
<div class="sixteen columns">
<h3>XML</h3>
<?php
header("Content-Type:text/xml");//Tell browser to expect xml
include("config/init.php");
$connection = mysqli_connect($hostname, $username, $password, $databaseName) or die("you did not connect");
$query = "SELECT * FROM art";
$result = mysqli_query($connection, $query) or die (mysqli_error($connection));
//Top of xml file
$_xml = '<?xml version="1.0" encoding="UTF-8"?>';
$_xml .="<art>";
while($row = mysqli_fetch_array($result)) {
$_xml .="<art>";
$_xml .="<art_name>".$row['name']."</art_name>";
$_xml .="<art_category>".$row['category']."</art_category>";
$_xml .="<art_price>".$row['price']."</art_price>";
$_xml .="</art>";
}
$_xml .="</art>";
//Parse and create an xml object using the string
$xmlobj=new SimpleXMLElement($_xml);
print $xmlobj->asXML();
$xmlobj->asXML('art.xml');
?>
</div>
<?php require 'footer.php'; ?>
http://www.acalvert.x10host.com/xml.php If you wish to view page source