За последние 24 часа нас посетили 37907 программистов и 1807 роботов. Сейчас ищут 863 программиста ...

Перенос строк в файле XML с помощью PHP

Тема в разделе "PHP для новичков", создана пользователем Alex.G, 9 ноя 2017.

  1. Alex.G

    Alex.G Активный пользователь

    С нами с:
    22 мар 2017
    Сообщения:
    44
    Симпатии:
    1
    Добрый день.
    Есть код:
    PHP:
    1. $d_ph1 = '<Image ... />';
    2. $d_ph2 = '<Image ... />';
    3. $d_ph3 = '<Image ... />';
    4.  
    5. $images = $d_ph1.$d_ph2.$d_ph3;
    6. $xml = simplexml_load_file('file.xml');
    7. $book = $xml->addChild('Book');
    8. $book->addChild('Id', '$id');
    9. $book->addChild('Category', '$ctg');
    10. $book->addChild('Images', $images);
    11. $xml->asXML('file.xml');
    После выполнения кода, в файле xml <Image ... /> записываются в одну строку. Подскажите пожалуйста как сделать, чтобы каждая <Image ... /> записывалась с новой строки?
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    так вам все же картинки как дочерние элементы добавлять надо или что,?
    могу предположить что как то так
    PHP:
    1. $images =array( '<Image ... />', '<Image ... />','<Image ... >');
    2. $xml = simplexml_load_file('file.xml');
    3. $book = $xml->addChild('Book');
    4. $book->addChild('Id', '$id');
    5. $book->addChild('Category', '$ctg');
    6. foreach ($images as $img) {
    7. $book->addChild('Images', $img);
    8. }
    9. $xml->asXML('file.xml');
    но это не перенос строк.... такого понятия в xml по сути нет
     
  3. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Странного чего-то хотите...
    В применении к приведенному коду можно использовать константу PHP_EOL:
    PHP:
    1. $d_ph1 = '<Image ... />'.PHP_EOL;
    Но удивительна реализация включения нескольких тегов Image как строки в качестве содержимого узла Images.
     
  4. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    в DomDocument если не ошибаюсь есть свойство formatOutput, которое отвечает за "красивый" вывод xml