XMLWriter сохранить xml

Тема в разделе "PHP", создана пользователем vanderv, 2 июн 2011.

Модераторы: latteo
  1. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
  2. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    $xmlStr это строка по идей, ну а дальше клади ее в файл через
    file_put_contents или fopen + fwrite + fclose
     
  3. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    270
    Симпатии:
    12
    Файл записывается но вылазит вот такая ошибка
    This page contains the following errors:

    error on line 6 at column 1: Extra content at the end of the document
    Below is a rendering of the page up to the first error.

    Это если я уберу echo $xmlStr;, если оставить то все в порядке. Но все это сохранение будет для пользователей - поэтому нельзя показывать все это.
     
  4. CnecHa3

    CnecHa3 Постоялец

    Регистр.:
    10 фев 2007
    Сообщения:
    105
    Симпатии:
    20
    а в начале xml файла записал?
    PHP:
    <?xml version="1.0" encoding="UTF-8"?>
     
  5. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    ошибка наверное из-за header в котором указано что документ xml, браузер получает страницу и обрабатывает как xml, если находит ошибки или документ пустой то показывает ошибки. Если надо только сохранить xlm данные в файл, то header указывать не надо.
    PHP:
    <?php
    require_once('Array2XML.php');

    //header('Content-type: application/xml');

    $data = array(
        
    'val1' => 111,
        
    'val2' => '222',
        
    'val3' => 333,
        
    500,
        
    'container' => array(
            
    'mystr' => 'test test',
            
    'myobj' => array(
                
    'x' => 250,
                
    'y' => 150,
                
    'name' => 'objName'
            
    )
        )
    );

    $converter = new Array2XML();
    $xmlStr $converter->convert($data);

    //echo $xmlStr;
    file_put_contents("test.xml"$xmlStr);
    ?>