Как создать XML файл при помощи PHP?

Пользователь

от lilla.herman , в категории: PHP , 3 года назад

Как создать XML файл при помощи PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jerad.kuphal , 3 года назад

@lilla.herman На самом деле вариантов создания xml файла в PHP множество и один из них это использовать SimpleXMLElement в PHP (другие варианты пожалуй это использование DOMDocument или других любых библиотек). Посмотрите ниже мой небольшой пример как легко можно создать XML файл на PHP:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><posts/>');

$post1 = $xml->addChild('post');
$post1->addChild("title", "Как создать XML файл в PHP?");
$post1->addChild("created", "22-01-2022");

$post2 = $xml->addChild('post');
$post2->addChild("title", "Что такое XML?");
$post2->addChild("created", "21-01-2022");

file_put_contents('posts.xml', $xml->asXML());
/*
<?xml version="1.0" encoding="UTF-8"?>
<posts>
    <post>
        <title>Как создать XML файл в PHP?</title>
        <created>22-01-2022</created>
    </post>
    <post>
        <title>Что такое XML?</title>
        <created>21-01-2022</created>
    </post>
</posts>
*/

Пользователь

от jose , 2 года назад

@lilla.herman 

Чтобы создать XML файл с помощью PHP, вы можете использовать функции работы с XML, входящие в стандартную библиотеку PHP. Например, вы можете использовать функцию simplexml_load_string для создания объекта SimpleXMLElement из строки XML, а затем использовать методы этого объекта для добавления узлов и атрибутов. После того, как вы создадите необходимую структуру XML, вы можете использовать функцию $xml->asXML() для преобразования объекта SimpleXMLElement в строку XML, и сохранить ее в файл с помощью функции file_put_contents.


Вот пример кода, который создает XML файл с названием "books.xml", содержащий список книг:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$xml = new SimpleXMLElement('<books/>');

$book = $xml->addChild('book');
$book->addChild('title', 'War and Peace');
$book->addChild('author', 'Leo Tolstoy');

$book = $xml->addChild('book');
$book->addChild('title', 'Pride and Prejudice');
$book->addChild('author', 'Jane Austen');

file_put_contents('books.xml', $xml->asXML());


Этот код создаст следующий XML файл: