PHP creates dash in XML

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
JoeSyn
Forum Newbie
Posts: 5
Joined: Wed Dec 21, 2011 8:57 am

PHP creates dash in XML

Post by JoeSyn »

Hey everyone,

Please could you assist with the following. I have a PHP that creates dynamic XML with search results from a database. However the XML created contains hyphens/dashes and I cannot parse it because of this. Does anyone know where there problem could be?

Code: Select all

<?php

header("Content-type: text/xml");
$xmlBody = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xmlBody .= "<XML>";

$artist =$_POST['artist'];
$medium =$_POST['medium'];
$size =$_POST['size'];
$format =$_POST['format'];
$subject =$_POST['subject'];
$colour =$_POST['colour'];
$price =$_POST['price'];
$available =$_POST['available'];

$host = "127.0.0.1";
$user = "root";
$pass = "";
$database = "syntegallery";

$con = mysql_connect($host, $user, $pass) or die (mysql_error());
mysql_select_db($database, $con) or die ("Could not find database");

$result = mysql_query("SELECT Filename, Thumbnail, Empirical FROM gallery WHERE Artist='$artist' AND Medium='$medium' AND Category='$size' AND Format='$format' AND Subject='$subject' AND Colour='$colour' AND `Range`='$price' AND Available='$available' ", $con) or die ("Data not found");

$i = 0;while($row = mysql_fetch_array($result))
{	
$Filename = $row["Filename"];
$Thumbnail = $row["Thumbnail"];
$Empirical = $row["Empirical"];
$i++;
$xmlBody .= '<gallery>
<filename>'.$Filename.'</filename>
<thumbnail>'.$Thumbnail.'</thumbnail>
<empirical>'.$Empirical.'</empirical></gallery>';
}

$xmlBody .= "</XML>";
print $xmlBody;
mysql_close($con);
exit();
?>
The created XML looks as follows:

<?xml version="1.0" encoding="ISO-8859-1" ?>
- <XML>
- <gallery>
<filename>ABJ004.jpg</filename>
<thumbnail>s_ABJ004.jpg</thumbnail>
<empirical>Barry Jackson, "Charging Lion". Bronze, 29 x 53cm</empirical>
</gallery>
- <gallery>
<filename>ABJ005.jpg</filename>
<thumbnail>s_ABJ005.jpg</thumbnail>
<empirical>Barry Jackson, "Cheetah Group". Bronze, 45 x 60 x 38cm</empirical>
</gallery>
</XML>

Any advice would be much appreciated!
User avatar
Christopher
Site Administrator
Posts: 13596
Joined: Wed Aug 25, 2004 7:54 pm
Location: New York, NY, US

Re: PHP creates dash in XML

Post by Christopher »

You might want to trim() the values of $row["Empirical"], etc. to remove the extra characters.
(#10850)
Post Reply