Log in

View Full Version : xml parsing error



shiju
07-06-2013, 11:01 AM
This page contains the following errors:

error on line 20 at column 508: Encoding error
Below is a rendering of the page up to the first error.



I was uploading this code url in two servers One it is working correctly but in magento based site it is not working....

All suggesions are welcome...
Thanks in advance...




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



mysql_select_db("carhhehd",$con);


$result=mysql_query( "SELECT `main_table`.`entity_id`,`main_table`.`level`, `main_table`.`path`, `main_table`.`position`,
`main_table`.`is_active`, `main_table`.`is_anchor`,
`main_table`.`name` FROM
`catalog_category_flat_store_1` AS `main_table`

WHERE (path LIKE '1/2/%') AND (main_table.store_id = '1') AND
(is_active = '1') AND (include_in_menu = '1') ORDER BY name ASC");

header("Content-type: text/xml");
echo '<?xml version="1.0" ?>';

echo '<data>';


$i=0;
while($row=mysql_fetch_array($result))
{
$m=$i+1;
echo '<'.$row['name'].'>';

echo '<entity_id>' . $row['entity_id'] .'</entity_id>';

echo '<store_id>' . '1'.'</store_id>' ;

echo '<name>' . $row['name'].'</name>' ;


$b=$row['name'];


$result1=mysql_query("SELECT distinct

p.entity_id AS 'product_entity_id',

cvn.name AS 'cname',
cvn.entity_id AS 'centityid',



pvn1.entity_id AS 'entity_id',
pvn1.name AS 'product_name',
pvn1.price AS 'price',

pvn1.special_price AS 'special_price',
pvn1.weight AS 'weight',
pvn1.small_image AS 'small_image',
pvn1.short_description AS 'short_description',
pvn1.url_key AS 'url_key'


FROM
catalog_product_entity p
JOIN(
SELECT DISTINCT entity_id, attribute_id,value
FROM
catalog_product_entity_varchar ) pvn
ON p.entity_id = pvn.entity_id
JOIN (
SELECT DISTINCT entity_id, name, price,special_price,weight,small_image,short_description,url_key
FROM catalog_product_flat_1 ) pvn1
ON pvn.entity_id=pvn1.entity_id
JOIN (
SELECT DISTINCT product_id,category_id
FROM catalog_category_product_index ) r
ON r.product_id = p.entity_id
JOIN (
SELECT entity_id
FROM

catalog_category_entity) c
ON r.category_id = c.entity_id
JOIN (
SELECT `cvn`.`entity_id`,`cvn`.`level`, `cvn`.`path`, `cvn`.`position`,
`cvn`.`is_active`, `cvn`.`is_anchor`,
`cvn`.`name` FROM
`catalog_category_flat_store_1` AS `cvn`

WHERE (path LIKE '1/2/%') AND (cvn.store_id = '1') AND
(is_active = '1') AND (include_in_menu = '1') ORDER BY name ASC ) cvn
ON c.entity_id = cvn.entity_id
WHERE
cvn.name = '$b'

ORDER BY pvn.value;");



if($result1)
{


while($row1=mysql_fetch_array($result1))
{





echo '<products>';


echo '<centity_id>' . $row1['centityid'] .'</centity_id>';

echo '<cname>' . $row1['cname'].'</cname>' ;

echo '<pentity_id>' . $row1['entity_id'] .'</pentity_id>';

echo '<sku>' . $row1['sku'].'</sku>' ;

echo '<name>' . $row1['product_name'].'</name>' ;

echo '<price>' .$row1['price'].'</price>' ;


echo '<special_price>' .$row1['special_price'].'</special_price>' ;


echo '<weight>' .$row1['weight'].'</weight>' ;



echo '<image>http://infocomsoftware.com/foodcart/media/catalog/product/cache/1/small_image/170x/9df78eab33525d08d6e5fb8d27136e95' . $row1['small_image'] . '</image>';



echo'<short_description>' . $row1['short_description'] . '</short_description>' ;


echo'<url_key>' . $row1['url_key'].'</url_key>' ;



echo '</products>';

}
}
echo '</' . $row['name'].'>';
}

echo'</data>';


?>

jscheuer1
07-06-2013, 03:08 PM
Since you say all suggestions welcome, I would suggest that the error is not in the PHP code, but in the xml code it produces. Which is a difference in how the PHP code is interpreted. When you have the page in the browser, hit 'View Source'. Do this on the page where everything is working, and also on the page where you are getting the error. Try to see what is different. That might give you a clue as to how to fix it.



Oh, and when posting code in the forums:

Please use the forum's bbcode tags to indent your code and make it more readable:

for php code............
<?php /* code goes here */ ?>
for html...............
<!-- markup goes here -->.....
for js/css/other.......
code goes here................

The simple editor has a button for the
tag, you may use that:

#

Not the #i one, which is really just for highlighting.

The advanced editor (activated by using the 'Go Advanced' button from the simple editor) has buttons for PHP and HTML code braces as well.

I and another moderator already edited your post to fix this, this time because you are new. In the future, please try to use the bbcode tags for any code that you want to put in your posts.