• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 224
  • Last Modified:

Coding error assistance needed

Hi all,

I am trying to create an RSS generator but getting the following code error in the code.

This is the error:

XML Parsing Error: XML or text declaration not at start of entity

and the is the code:

echo
'<?xml version="1.0" encoding="ISO-8859-1" ?>

It's pointing here:
<?xml version="1.0" encoding="ISO-8859-1" ?>
^

See arrow above...seems to be the first character?

Hope you can help

thanks

st3vo
0
ST3VO
Asked:
ST3VO
  • 6
  • 4
1 Solution
 
cevomanCommented:
Hi there,

if there is anything outputted before this line (even a space or newline) it will throw this error

Kind regards
James
0
 
ST3VOAuthor Commented:
When I go to view source it has 3 blank links and then:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
etc...

How do I get rid of lose blank lines...or is that normal?
0
 
ST3VOAuthor Commented:
Full error is:

XML Parsing Error: XML or text declaration not at start of entity
Location: http://127.0.0.1/news/rssfeed.php
Line Number 4, Column 1:
<?xml version="1.0" encoding="ISO-8859-1"?>
^

0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
cevomanCommented:
Hi there,

It's those blank lines which are doing it is anything else "Echoing" before that code is run?
Is it part of a template engine or could you provide the full PHP code?

Kind regards
James
0
 
ST3VOAuthor Commented:
OK, See code attached
<?php
 include("../includes/dbconn.php");
 
 //the variables
$rss_title= "mysite.com RSS Feed";
 
$rss_site= "mysite.com" ;
 
$rss_description= "Welcome to mysite.com News RSS Feed!";
 
$rss_language="en";
 
$rss_logo="http://www.".$rss_site."/images/rss.jpg";
 
$emailadmin="st3vo@mysite.com"; 
 
header("Content-Type: text/xml;charset=iso-8859-1"); 
 
 
$query = "select * from tbl_news ORDER BY id DESC";
 
$result = mysql_query($query) or die("Query failed"); 
 
?>
 
<?php echo '<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>'.$rss_title.'</title>
<link>http://www.'.$rss_site.'</link>
<description>'.$rss_description.'</description>
<language>en-en</language>
<image>
<url>'.$rss_logo.'</url>
<title>'.$rss_site.'</title>
<link>http://www.'.$rss_site.'</link>
</image>'; 
 
//RSS loop 1
for($i=0;$i<6; $i++)
{
 
//etc....

Open in new window

0
 
cevomanCommented:
Without knowing what dbconn.php is outputting (if there are any spaces before or after the code in the file)
remove the space from line 25

infact... remove line 24,25 and 26 and check the dbconn.php file

kind regards
James
0
 
ST3VOAuthor Commented:
OK it now looks like this:

and the dbconn include is:

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("db2", $con) or
  die('Could not select the database: '.mysql_error());


?>

hope this helps...still got the same error btw

<?php
 include("../includes/dbconn.php");
 
 //the variables
$rss_title= "mysite.com RSS Feed";
 
$rss_site= "mysite.com" ;
 
$rss_description= "Welcome to mysite.com News RSS Feed!";
 
$rss_language="en";
 
$rss_logo="http://www.".$rss_site."/images/rss.jpg";
 
$emailadmin="st3vo@mysite.com"; 
 
header("Content-Type: text/xml;charset=iso-8859-1"); 
 
 
$query = "select * from tbl_news ORDER BY id DESC";
 
$result = mysql_query($query) or die("Query failed"); 
 
echo '<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
<channel>
<title>'.$rss_title.'</title>
<link>http://www.'.$rss_site.'</link>
<description>'.$rss_description.'</description>
<language>en-en</language>
<image>
<url>'.$rss_logo.'</url>
<title>'.$rss_site.'</title>
<link>http://www.'.$rss_site.'</link>
</image>'; 
 
//RSS loop 1
for($i=0;$i<6; $i++)
{
 
//etc....

Open in new window

0
 
cevomanCommented:
I've just tested the code below seperately and a RSS reader reads it fine, what is producing the error?
	 //the variables
$rss_title= "mysite.com RSS Feed";
 
$rss_site= "mysite.com" ;
 
$rss_description= "Welcome to mysite.com News RSS Feed!";
 
$rss_language="en";
 
$rss_logo="http://www.".$rss_site."/images/rss.jpg";
 
$emailadmin="st3vo@mysite.com"; 
 
header("Content-Type: text/xml;charset=iso-8859-1"); 
 
	echo '<?xml version="1.0" encoding="ISO-8859-1"?>
	<rss version="2.0">
	<channel>
	<title>'.$rss_title.'</title>
	<link>http://www.'.$rss_site.'</link>
	<description>'.$rss_description.'</description>
	<language>en-en</language>
	<image>
	<url>'.$rss_logo.'</url>
	<title>'.$rss_site.'</title>
	<link>http://www.'.$rss_site.'</link>
	</image>';

Open in new window

0
 
ST3VOAuthor Commented:
Sorted now...it was the spacing...had to get rid of some closing tags as they appear to create blank space, so all cool here..thanks for your help!

0
 
ST3VOAuthor Commented:
cheers :o)
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 6
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now