XML Parser error

Hi Every one,

I have just now uploaded a new site which is in php and uses RSS feeds with include file.In my code editor the pages are displayed perfectly but on my server it denotes xml error and no RSS feeds are displayed.I have tried my best to find the error but I could not.If someone can help me here.

Here is the url of my site where the error is displayed(The error message is at the bottom of the page like this MORE RESOURCES:
XML error: mismatched tag at line 20)…

<snip/>
Below is inlude RSS file codes so one can decide where the mistake resides…



<?php

/*
Created by Global Syndication's RSS Parser
http://www.globalsyndication.com/rss-parser
*/

set_time_limit(0);

$file = "http://news.google.com/news?sourceid=navclient&ie=UTF-8&rls=GGLG,GGLG:2005-22,GGLG:en&q=Acne&output=rss";

$rss_channel = array();
$currently_writing = "";
$main = "";
$item_counter = 0;

function startElement($parser, $name, $attrs) {
   	global $rss_channel, $currently_writing, $main;
   	switch($name) {
   		case "RSS":
   		case "RDF:RDF":
   		case "ITEMS":
   			$currently_writing = "";
   			break;
   		case "CHANNEL":
   			$main = "CHANNEL";
   			break;
   		case "IMAGE":
   			$main = "IMAGE";
   			$rss_channel["IMAGE"] = array();
   			break;
   		case "ITEM":
   			$main = "ITEMS";
   			break;
   		default:
   			$currently_writing = $name;
   			break;
   	}
}

function endElement($parser, $name) {
   	global $rss_channel, $currently_writing, $item_counter;
   	$currently_writing = "";
   	if ($name == "ITEM") {
   		$item_counter++;
   	}
}

function characterData($parser, $data) {
	global $rss_channel, $currently_writing, $main, $item_counter;
	if ($currently_writing != "") {
		switch($main) {
			case "CHANNEL":
				if (isset($rss_channel[$currently_writing])) {
					$rss_channel[$currently_writing] .= $data;
				} else {
					$rss_channel[$currently_writing] = $data;
				}
				break;
			case "IMAGE":
				if (isset($rss_channel[$main][$currently_writing])) {
					$rss_channel[$main][$currently_writing] .= $data;
				} else {
					$rss_channel[$main][$currently_writing] = $data;
				}
				break;
			case "ITEMS":
				if (isset($rss_channel[$main][$item_counter][$currently_writing])) {
					$rss_channel[$main][$item_counter][$currently_writing] .= $data;
				} else {
					$rss_channel[$main][$item_counter][$currently_writing] = $data;
				}
				break;
		}
	}
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
	die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
	if (!xml_parse($xml_parser, $data, feof($fp))) {
		die(sprintf("XML error: &#37;s at line %d",
					xml_error_string(xml_get_error_code($xml_parser)),
					xml_get_current_line_number($xml_parser)));
	}
}
xml_parser_free($xml_parser);

// output HTML
// print ("<div class=\\"channelname\\">" . $rss_channel["TITLE"] . "</div>"); 

if (isset($rss_channel["ITEMS"])) {
	if (count($rss_channel["ITEMS"]) > 0) {
		for($i = 0;$i < count($rss_channel["ITEMS"]);$i++) {
			if (isset($rss_channel["ITEMS"][$i]["LINK"])) {
			print ("\
<div class=\\"itemtitle\\"><a href=\\"" . "go.php?url=" . $rss_channel["ITEMS"][$i]["LINK"] . "\\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</a></div>");
			} else {
			print ("\
<div class=\\"itemtitle\\">" . $rss_channel["ITEMS"][$i]["TITLE"] . "</div>");
			}
			 print ("<div class=\\"itemdescription\\">" . $rss_channel["ITEMS"][$i]["DESCRIPTION"] . "</div><br />"); 		}
	} else {
		print ("<b>There are no articles in this feed.</b>");
	}
}

?>


I am eagerly waiting for some guidance and advice!

Thanks in advance!
m

Hi, does anyone has error experience handling xml sitemap at google webmaster tools (especially this week) ???

After i renew my domains, all my sitemap xml not indexing by google…does any one has the solve for my problems ???

regards
ethan
<snip/>

Hi Mittineague,

Frankly I have not tried but I will try it now.I will also post the result.

Thanks lot for your help.If you have more suggestion & advice please do let me know.

with best regards!
m

Hi minstantmoney, welcome to the forums,

I didn’t look at your code too closely, but that feed is a bit of a mess. It doesn’t validate and even after putting the description content inside <![CDATA[ … ]]> it still doesn’t validate.

If you temporarily try your code with a feed that does pass validation does the error go away?