om du använder denna, kodifiera nedanfört dig ska förstår vad jag betyder. detta kodifierar löste mitt problem.
[kodifiera],
/**
* Den XMLToArray generatorn klassificerar
* @author: MOR Razzaque Rupom
,
* Examinator phpResource (LINK1 http://groups.yahoo.com/group/phpresource/LINK1)
* URL: LINK2 http://www.rupom.infoLINK2
* @version: 1.0
* @date 06/05/2006
* Ämna: Skapa hierarkisk samling från XML-data
* Utsläppt: Under GPL
*
klassificera XmlToArray
{
var $xml= '';
/**
* StandardConstructor
* @param $xml = xmldata
* @return inga
*
fungera XmlToArray ($xml)
{
$this->xml = $xml;
}
/**
* _struct_to_array ($values, &$i)
*
* Detta är tillfogar tillfredsställer av den återgång xmlen in i samlingen för lättare bearbeta.
* Recursive statisk elektricitet
*
* privata @access
* @paramsamling $values detta är xmldatan i en samling
* @param int $i detta är strömläget i samlingen
* @returnsamling
*
fungera _struct_to_array ($values, &$i)
{
$child = samling ();
om (isset ($values [$i] [”värdera”],)) array_push ($child, $values [$i] [”värdera”],);
stunder ($i++ <� count=""> kopplar ($values [$i] [”typ”]) {
fall ”cdata”:
array_push ($child, $values [$i] [”värdera”],);
avbrott;
fallet ”avslutar”:
$name = $values [$i] [”märka”];
om (! töm ($name)){
$child [$name] = ($values [$i] [”värdera”],)? [”värdera”],) ($values [$i]: '';
om (isset ($values [$i] [”attribut])) {
$child [$name] = $values [$i] [”attribut];
}
}
avbrott;
fallet ”öppnar”:
$name = $values [$i] [”märka”];
$size = isset ($child [$name])? sizeof ($child [$name]): 0;
$child [$name] [$size] = $this->_struct_to_array ($values, $i);
avbrott;
”nära” fall:
återgång $child;
avbrott;
}
}
återgång $child;
} //_struct_to_array
/**
* createArray ($data)
*
* Detta är tillfogar tillfredsställer av den återgång xmlen in i samlingen för lättare bearbeta.
*
* offentliga @access
* @param stränger $data som denna är stränga av xmldatan
* @returnsamling
*
fungera createArray ()
{
$xml = $this->xml;
$values = samling ();
$index = samling ();
$array = samling ();
$parser = xml_parser_create ();
xml_parser_set_option ($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parse_into_struct ($parser, $xml, $values, $index);
xml_parser_free ($parser);
$i = 0;
$name = $values [$i] [”märka”];
$array [$name] = isset ($values [$i] [”attribut])? $values [$i] [”attribut]: '';
$array [$name] = $this->_struct_to_array ($values, $i);
återgång $array;
} //createArray
} //XmlToArray
? >
$xml_data = file_get_contents (”XMLFormatPerformanceReport.xml”);
//Creating anföra som exempel av klassificera
$xmlObj = nya XmlToArray ($xml_data);
//Creating samling
$arrayData = $xmlObj->createArray ();
//Displaying samlingen
eka ”,”;
print_r ($arrayData);
? >
[/code]