Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: работа с XML - помогите с небольшой доработкой
 
 автор: Интервент   (20.07.2008 в 04:07)   письмо автору
 
 

Изаините за такой тупой вопрос, но как сделать,чтобы каждый раз, после того как дашь функции AtoX массив с новыми данными - в файле test.xml сохранялись и преведущие записи..?

Понимаете, функция работает как надо, только вот когда используешь этот код несколько раз - файл test.xml не дополняется новыми данными, а перезаписывается... и в нем находится информация только об одной записи.....

<?PHP
  
function AtoX($array$DOM=null$root=null){
   
    if(
$DOM  == null){$DOM  = new DOMDocument('1.0''iso-8859-1');}
    if(
$root == null){$root $DOM->appendChild($DOM->createElement('root'));}
   
    
$name $array['#MULTIPLE_ELEMENT_NAME'];

      foreach(
$array as $key => $value){   
        if(
is_int($key) && $name != null){
          if(
is_array($value)){
            
$subroot $root->appendChild($DOM->createElement($name));
            
AtoX($value$DOM$subroot);
          }
          else if(
is_scalar($value)){
            
$root->appendChild($DOM->createElement($name$value));
          }
        }
        else if(
is_string($key) && $key != '#MULTIPLE_ELEMENT_NAME'){
          if(
is_array($value)){
            
$subroot $root->appendChild($DOM->createElement($key));
            
AtoX($value$DOM$subroot);
          }
          else if(
is_scalar($value)){
            
$root->appendChild($DOM->createElement($key$value));
          }
        }
      }
    return 
$DOM
  }
 
  
$array = array(
                    
'#MULTIPLE_ELEMENT_NAME' => 'GenericDatas',
                    
'Date'      => 'November 03, 2007',
                    
'Company'   => 'Facility One',
                    
'Field'     => 'Facility Management Software',
                    
'Employees' => array(
                                      
'#MULTIPLE_ELEMENT_NAME' => 'Employee',
                                      
'Cindy',
                                      
'Sean',
                                      
'Joe',
                                      
'Owen',
                                      
'Jim',
                                      
'Dale',
                                      
'Kelly',
                                      
'Ryan',
                                      
'Johnathan',
                                      
'Robin',
                                      
'William Marcus',
                                      
'NewCoops' => array(
                                                          
'#MULTIPLE_ELEMENT_NAME' => 'Coop',
                                                          
'John',
                                                          
'Tyler',
                                                          
'Ray',
                                                          
'Dawn'
                                                         
)    
                                    ),
                    
'Datas',
                    
'DATAS',
                    
'OtherDatas'
                
);
 
  
$DOM  = new DOMDocument('1.0''iso-8859-1');
  
$root $DOM->appendChild($DOM->createElement('CompanyData'));
  
$DOM  AtoX($array$DOM$root);
  
$DOM->save('C:\test.xml');
?>


Надо чтобы если файл не пустой, то просто происходило дополнение дерева CompanyData

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования