Вопрос : xml, котор нужно одеть

я имею архив xml как class= " lineNumbers " >
1 >

	
		Course 1
		
			Exam 1
			2010
			60		
		
		
			Exam 2
			2010
			70		
			
	
	
		Course 2
		
			Exam 3
			2010
			50
		
	
class= " ясное " >

and
1 >
функция objectsIntoArray ($arrObjData, $arrData = блок ())
{

	// если входным сигналом будет предмет, то, новообращенный в блок
	если (is_object, то ($arrObjData)) {
		$arrObjData = get_object_vars ($arrObjData);
	}

	если (is_array, то ($arrObjData)) {
			foreach ($arrObjData как => $value $index) {
				если (is_object ($value) или is_array, то ($value)) {
					$value = objectsIntoArray ($value); звонок //recursive
				}
				
				$arrData [$index] = $value;
			}
	}

	возвращенное $arrData;
}

$xml = «my.xml»;

$object = simplexml_load_file ($xml);

$arr = objectsIntoArray ($object);

печать «
»;

print_r ($arr);

отголосок «отсчет» .count курса ($arr [курс]). «
»; foreach ($arr [курс] как => $course_value $course_key) { отголосок «отсчет» .count экзамена ($arr [курс] [$course_key] [экзамен]). «
»; } class=


now пожалуйста смотрят курс 2 там будет экзамен но они печатают меня 3. потому что когда один экзамен он не преобразовывает до array
exam [0] блока {

}

it новообращенных

блока экзамена сразу {

} из-за того его экзамены отсчета не оно бирки отсчет внутри exam.

how может я фиксирует this.

thanks. class=

Ответ : xml, котор нужно одеть

если вы используете, то это Кодий под вами поймет я намереваюсь. это Кодий разрешило мою проблему.
[Кодий]
/**
* Тип генератора XMLToArray
* @author:  MA Razzaque Rupom ,
* Модератор, phpResource (LINK1 http://groups.yahoo.com/group/phpresource/LINK1)
* URL: LINK2 http://www.rupom.infoLINK2
* @version:  1.0
* @date 06/05/2006
* Цель: Создавать иерархический блок от данных по XML
* Выпущено: Под GPL
*

тип XmlToArray
{
   
    var $xml= '';
   
    /**
    * Конструктор невыполнения обязательства
    * @param $xml = данные по xml
    * @return никакие
    *
   
    функция XmlToArray ($xml)
    {
       $this->xml = $xml;  
    }
   
    /**
    * _struct_to_array ($values, &$i)
    *
    * Это добавляет содержание возвращенного xml в блок для более легкий обрабатывать.
    * Рекурсивно, статическо
    *
    * @access приватные
    * блоком $values @param это будет данные по xml в блоке
    * @param int $i это будет в настоящее время положение в блоке
    * блок @return
    *
   
    функция _struct_to_array ($values, &$i)
    {
        $child = блок ();
        если (isset, то ($values [$i] [«значение»])) array_push ($child, $values [$i] [«значение»]);
       
        пока (переключатель <� count="">            $i++ ($values [$i] [«тип»]) {
                случай «cdata»:
                array_push ($child, $values [$i] [«значение»]);
                пролом;
               
                случай «завершает»:
                    $name = $values [$i] [«бирка»];
                    если (! опорожните ($name)){
                    $child [$name] = ($values [$i] [«значение»])? ($values [$i] [«значение»]): '';
                    если (isset, то ($values [$i] [«атрибуты»])) {                  
                        $child [$name] = $values [$i] [«атрибуты»];
                    }
                }  
              пролом;
               
                случай «раскрывает»:
                    $name = $values [$i] [«бирка»];
                    $size = isset ($child [$name])? sizeof ($child [$name]): 0;
                    $child [$name] [$size] = $this->_struct_to_array ($values, $i);
                пролом;
               
                случай «близкий»:
                возвращенное $child;
                пролом;
            }
        }
        возвращенное $child;
    } //_struct_to_array
   
    /**
    * createArray ($data)
    *
    * Это добавляет содержание возвращенного xml в блок для более легкий обрабатывать.
    *
    * @access общественные
    * шнур $data @param это будет шнуром данных по xml
    * блок @return
    *
    функция createArray ()
    {
        $xml = $this->xml;
        $values = блок ();
        $index = блок ();
        $array = блок ();
        $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] [«бирка»];
        $array [$name] = isset ($values [$i] [«атрибуты»])? $values [$i] [«атрибуты»]: '';
        $array [$name] = $this->_struct_to_array ($values, $i);
        возвращенное $array;
    } //createArray
   
   
} //XmlToArray
? >

      
            
      
      
                        $xml_data = file_get_contents («XMLFormatPerformanceReport.xml»);
            
            Пример //Creating типа
            $xmlObj = новое XmlToArray ($xml_data);
            
            Блок //Creating
            $arrayData = $xmlObj->createArray ();
            
            //Displaying блок
            отголосок «
«;
            print_r ($arrayData);
            ? >      
      

[/code]
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us