Korner
Новичок
Sax тормозит
граждане
помогите плиз.
вот скрипт
вот data.xml
http://www.mixmarket.biz/mixml.plx?id=4294966938
почему при выводе print_r( $offer ); в endElement отображается только
помогите плиз, уже не знаю как быть (l
граждане
помогите плиз.
вот скрипт
PHP:
<?
$file = "data/data.xml";
$offer = Array();
function startElement($parser, $name, $attrs)
{
global $offer, $offer_id, $type, $oname, $url, $desc, $price;
switch( $name ) {
case 'OFFER':
$offer['id'] = $attrs['ID'];
$offer['brandid'] = $attrs['BRANDID'];
$offer['advid'] = $attrs['ADVID'];
$offer['cat'] = $attrs['CAT'];
$offer['src'] = $attrs['SRC'];
$offer['w'] = $attrs['W'];
$offer['h'] = $attrs['H'];
break;
case 'TYPE':
$type = true;
break;
case 'NAME':
$oname = true;
break;
case 'URL':
$url = true;
break;
case 'DESC':
$desc = true;
break;
case 'PRICE':
$price = true;
break;
}
}
function endElement($parser, $name)
{
global $sql, $offer, $offer_id, $type, $oname, $url, $desc, $price;
switch( $name ) {
case 'OFFER':
print_r( $offer );
unset( $offer );
break;
case 'TYPE':
$type = false;
break;
case 'NAME':
$oname = false;
break;
case 'URL':
$url = false;
break;
case 'DESC':
$desc = false;
break;
case 'PRICE':
$price = false;
break;
}
}
function characterData($parser, $data)
{
global $offer, $offer_id, $type, $oname, $url, $desc, $price;
if( $type )
$offer['type'] = $data;
if( $oname )
$offer['name'] = $data;
if( $url )
$offer['url'] = $data;
if( $desc )
$offer['desc'] =$data ;
if( $price )
$offer['price'] = $data;
}
$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: %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);
?>
http://www.mixmarket.biz/mixml.plx?id=4294966938
почему при выводе print_r( $offer ); в endElement отображается только
а если вывести в characterDataurl => gid=4294966938
выводится полностьюif( $url )
print $data;
тоже самое desc обрезается
помогите плиз, уже не знаю как быть (l
