All pastes #434386 Raw Edit

Someone

public text v1 · immutable
·published 2007-04-11 12:06 UTC
rendered paste body
<?php

$xml_file = "./images/referenser/thumbs.xml";

$xml_ref_key = "*INFORMATION*REF";
$xml_text_key = "*INFORMATION*REF*TEXT";
$xml_pic_key = "*INFORMATION*REF*PIC";

$ref_array = array();

$counter = 0;

class xml_ref{
	var $text, $pic;
}

function startTag($parser, $data){
	global $current_tag;
	$current_tag .= "*$data";
}

function endTag($parser, $data){
	global $current_tag;
	$tag_key = strrpos($current_tag, '*');
	$current_tag = substr($current_tag, 0, $tag_key);
}

function contents($parser, $data){
	global $current_tag, $xml_ref_key, $xml_text_key, $xml_pic_key, $counter, $ref_array;
	switch($current_tag){
		case $xml_ref_key:
			$ref_array[$counter] = new xml_ref();
			$ref_array[$counter]->ref = $data;
			break;
		case $xml_text_key:
			$ref_array[$counter]->text = $data;
			$counter++;
			break;
		case $xml_pic_key:
			$ref_array[$counter]->pic = $data;
			$counter++;
			break;
	}
}

$xml_parser = xml_parser_create();

xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1);

xml_set_element_handler($xml_parser, "startTag", "endTag");

xml_set_character_data_handler($xml_parser, "contents");

$fp = fopen($xml_file, "r") or die("Kunde inte öppna filen");

$data = fread($fp, filesize($xml_file)) or die("Kunde inte öppna filen");

if(!(xml_parse($xml_parser, $data, feof($fp)))){
	die("Fel på linje " . xml_get_current_line_number($xml_parser));
}

xml_parser_free($xml_parser);

fclose($fp);

?>