how to create xml file using php and mysql?



I am trying to make a xml file from the data stored in my local db using php. But i am having a problem with it. as when I hard code the value I am able to get the xml file but when i am trying to call from the database i am not able to do it? so can some one help me out with it.


so here is the code that i wrote..



<?php

include 'config.php';
include 'database.php';

$sql = "select title, content, url from table limit 100";
$results = Database::GetAll($sql);

$xml = new DomDocument("1.0","UTF-8");

$content = $xml->createElement("content");
$content = $xml->appendChild($content);

foreach($results as $result) {
$item = $xml->createElement("item");
$item = $content->appendChild($item);

$title = $xml->createElement("title",$result['title']);
$title = $item->appendChild($title);

$description = $xml->createElement("description",$result['content']);
$description = $item->appendChild($description);

$link = $xml->createElement("link",$result['url']);
$link = $item->appendChild($link);
}

$xml->FormatOutput = true;
$output = $xml->saveXML();
$xml->save("xmls.xml");


?>


here Database::GetAll($sql) is a class that i have created, it executes the query and gets the table contents. the config file consists of all the database credentials and database.php is the file with the class of database.


The XML that i would want is



<content>
<item>
<title>....</title>
<description>....</description>
<url>....</url>
</item>

<item>
<title>....</title>
<description>....</description>
<url>....</url>
</item>

<item>
<title>....</title>
<description>....</description>
<url>....</url>
</item>

...till 100 values..
</content>


here the .... between the tags represent the datas retrieved from the database using mysql. var_dump($results) gives me all the three required values upto the 100th row.


and these are the errors that I am getting while using my code..



Warning: DOMDocument::createElement(): unterminated entity reference loc=hpa1&icid=hpa1_bestofsale_010715 in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference locale=en_US&repriceOrder=true in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference subCatView=true&adcell=hpmemberjeans in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference deptId=dept20000020&subcatId=cat1003450012&N=1003070048&extDim=true&cm_re=S2-_-CAT-_-SPORT_WATCHES in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference ab=HP_BSpot_B4_40OffFootwear in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference pid=8672,8541,8532,8699,107705,8664,8806,8539,8808,8540,8826,8828,8542,104632,107703,8827&sortExpression=manual&heig in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference cm_sp=LN-_-Save+Up+to+75%25+Off+Select+Items++-_-Up+to+50%25+Off+Select+Body+Care&cp=4090263.46772866 in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference CP=ILC-FLASH:20offShoes&sortmfr=N in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference pid=8672,8541,8532,8699,107705,8664,8806,8539,8808,8540,8826,8828,8542,104632,107703,8827&sortExpression=manual&heig in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference so=2 in C:\xampp\htdocs\practice\d\xmls.php on line 23

Warning: DOMDocument::createElement(): unterminated entity reference node=10470257011&smid=ATVPDKIKX0DER&pf_rd_m=ATVPDKIKX0DER&pf_rd_t=701&pf_rd_s=center-3&pf_rd_r=0ZC491KTZNEXXHNV96NM&pf_rd_i=30&pf in C:\xampp\htdocs\practice\d\xmls.php on line 23


so how can i get this?


thank you


No comments:

Post a Comment