Forum Moderators: coopster
I have already successfully displayed this XML feed via XSLT, but I just found out I need to store these data into mySQL database... somehow XSLT is not designed for this purpose.
<html>
<head>
<title>Current SitePoint Articles</title>
</head>
<body>
<h2>Currently on SitePoint.com...</h2>
<dl>
<?php
$insideitem = false;
$tag = "";
$storename = "";
$storelogo = "";
$offerprice = "";
$offerdescription = "";
$offerurl = "";
function startElement($parser, $name, $attrs) {
global $insideitem, $tag, $storename, $offerprice, $offerurl, $offerlogo, $offerdescription;
if ($insideitem) {
$tag = $name;
} elseif ($name == "store-offer") {
$insideitem = true;
}
}
function endElement($parser, $name) {
global $insideitem, $tag, $storename, $offerprice, $offerurl, $offerlogo, $offerdescription;
// print "yes";
if ($name == "store-offer") {
printf("<dt><b><a href='%s'>%s</a></b></dt>",
trim($offerurl),htmlspecialchars(trim($storename)));
printf("<dd>%s</dd>",htmlspecialchars(trim($offerprice)));
$storename = "";
$offerprice = "";
$offerurl = "";
$offerlogo = "";
$offerdescription = "";
$insideitem = false;
}
}
function characterData($parser, $data) {
global $insideitem, $tag, $storename, $offerprice, $offerurl, $offerlogo, $offerdescription;
if ($insideitem) {
switch ($tag) {
case "store-name":
$storename .= $data;
break;
case "offer-price":
$offerprice .= $data;
break;
case "offer-logo":
$offerlogo .= $data;
break;
case "offer-description":
$offerdescription .= $data;
break;
case "offer-url":
$offerurl .= $data;
break;
}
}
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen("********* URL Removed *************","r")
or die("Error reading RSS data.");
while ($data = fread($fp, 4096))
// echo yes;
xml_parse($xml_parser, $data, feof($fp))
or die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
fclose($fp);
xml_parser_free($xml_parser);
?>
</dl>
</body>
</html>
-------------------------------------------
<dsp>
<result>
...
</result>
<phrase>
...
</phrase>
<domain>
<title>...</title>
<url>...</url>
<store-offers>
<store-offer>
<store-name>
</store-name>
<store-logo>
</store-logo>
<offer-description>
</offer-description>
<offer-price>
</offer-price>
<offer-url>
</offer-url>
</store-offer>
<store-offer>
<store-name>
</store-name>
<store-logo>
</store-logo>
<offer-description>
</offer-description>
<offer-price>
</offer-price>
<offer-url>
</offer-url>
</store-offer>
<store-offer>
<store-name>
</store-name>
<store-logo>
</store-logo>
<offer-description>
</offer-description>
<offer-price>
</offer-price>
<offer-url>
</offer-url>
</store-offer>
</store-offers>
</domain>
</dsp>
Thanks for any assistance...