wenn Sie verwenden, versteht dieser Code unter Ihnen, was ich bedeute. dieser Code löste mein Problem.
[Code]
/**
* XMLToArray Generator-Kategorie
* @author: MA Razzaque Rupom
,
* Moderator, phpResource (LINK1 http://groups.yahoo.com/group/phpresource/LINK1)
* URL: LINK2 http://www.rupom.infoLINK2
* @version: 1.0
* @date 06/05/2006
* Zweck: Schaffung der hierarchischen Reihe von den XML Daten
* Freigegeben: Unter GPL
*
Kategorie XmlToArray
{
var $xml= '';
/**
* Rückstellungs-Erbauer
* @param $xml = xml Daten
* @return keine
*
Funktion XmlToArray ($xml)
{
$this->xml = $xml;
}
/**
* _struct_to_array ($values, &$i)
*
* Dieses ist hinzufügt den Inhalt des Rückholxml in die Reihe für die einfachere Verarbeitung.
* Rekursiv, statisch
*
* @access privat
* @param Reihe $values dieses ist die xml Daten in einer Reihe
* @param int $i dieses ist die gegenwärtige Position in der Reihe
* @return Reihe
*
Funktion _struct_to_array ($values, &$i)
{
$child = Reihe ();
wenn (isset ($values [$i] [„Wert“])) array_push ($child, $values [$i] [„Wert“]);
während ($i++ <� count=""> Schalter ($values [$i] [„Art“]) {
Fall „cdata“:
array_push ($child, $values [$i] [„Wert“]);
Bruch;
Fall „schließen“ ab:
$name = $values [$i] [„Umbau“];
wenn (! leeren ($name)){
$child [$name] = ($values [$i] [„Wert“])? ($values [$i] [„Wert“]): '';
wenn (isset ($values [$i] [„Attribute“])) {
$child [$name] = $values [$i] [„Attribute“];
}
}
Bruch;
Fall „öffnen sich“:
$name = $values [$i] [„Umbau“];
$size = isset ($child [$name])? sizeof ($child [$name]): 0;
$child [$name] [$size] = $this->_struct_to_array ($values, $i);
Bruch;
Fall „nah“:
Rückhol$child;
Bruch;
}
}
Rückhol$child;
} //_struct_to_array
/**
* createArray ($data)
*
* Dieses ist hinzufügt den Inhalt des Rückholxml in die Reihe für die einfachere Verarbeitung.
*
* @access allgemein
* @param Schnur $data dieses ist die Schnur der xml Daten
* @return Reihe
*
Funktion createArray ()
{
$xml = $this->xml;
$values = Reihe ();
$index = Reihe ();
$array = Reihe ();
$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] [„Umbau“];
$array [$name] = isset ($values [$i] [„Attribute“])? $values [$i] [„Attribute“]: '';
$array [$name] = $this->_struct_to_array ($values, $i);
Rückhol$array;
} //createArray
} //XmlToArray
? >
$xml_data = file_get_contents („XMLFormatPerformanceReport.xml“);
//Creating-Fall der Kategorie
$xmlObj = neues XmlToArray ($xml_data);
//Creating-Reihe
$arrayData = $xmlObj->createArray ();
//Displaying die Reihe
Echo „„;
print_r ($arrayData);
? >
[/code]