Я должен генерировать XML-файл динамически во время выполнения. Пожалуйста, помогите мне динамически сгенерировать приведенный ниже XML-файл с использованием PHP.
<?xml version="1.0" encoding="UTF-8"?>
<xml>
<track>
<path>song1.mp3</path>
<title>Track 1 - Track Title</title>
</track>
<track>
<path>song2.mp3</path>
<title>Track 2 - Track Title</title>
</track>
<track>
<path>song3.mp3</path>
<title>Track 3 - Track Title</title>
</track>
<track>
<path>song4.mp3</path>
<title>Track 4 - Track Title</title>
</track>
<track>
<path>song5.mp3</path>
<title>Track 5 - Track Title</title>
</track>
<track>
<path>song6.mp3</path>
<title>Track 6 - Track Title</title>
</track>
<track>
<path>song7.mp3</path>
<title>Track 7 - Track Title</title>
</track>
<track>
<path>song8.mp3</path>
<title>Track 8 - Track Title</title>
</track>
Ответы:
Я бы использовал SimpleXMLElement .
источник
<?xml version="1.0" encoding="WHATEVER_IT_IS"?>
инструкцию по обработке. Я верю, что SimpleXMLElement сделает правильную вещь: конвертирует все запрашиваемые строковые значения в ваше mb_internal_encoding.$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><Person></Person>");
Чтобы создать XML-документ в PHP, вы должны создать экземпляр класса DOMDocument, создать дочерние узлы и добавить эти узлы в правильную ветвь дерева документа.
Для справки вы можете прочитать http://it.php.net/manual/en/book.dom.php
Теперь мы кратко рассмотрим код ниже.
Это основы, вы можете создавать и добавлять узлы в виде одной строки (например, 13-й), вы можете делать много других вещей с помощью dom api. Это тебе решать.
Редактировать: только еще один совет: главное преимущество использования xmldocument (один из документов dom или simplexml один) вместо печати xml, состоит в том, что дерево xml доступно для поиска с помощью запроса xpath
источник
$domtree->save('mypath/xmlfile.xml');
?$domtree->formatOutput = true;
чтобы сделать вывод довольно :)Content-Disposition: attachment
и напечатайте результат saveXml. Вы также можете предложить имя файла.Легко сломанный способ сделать это:
сохранить как .php
источник
С FluidXML вы можете создавать свои XML очень легко.
https://github.com/servo-php/fluidxml
источник
Взгляните на Крошечного, Но Сильного систему шаблонов. Обычно он используется для создания шаблонов HTML, но есть расширение, которое работает с файлами XML. Я широко использую это для создания отчетов, где у меня может быть один файл кода и два файла шаблона - htm и xml - и пользователь затем может выбрать, отправлять ли отчет на экран или в электронную таблицу.
Еще одним преимуществом является то, что вам не нужно кодировать XML с нуля, в некоторых случаях я хотел экспортировать очень большие сложные таблицы, и вместо того, чтобы кодировать весь экспорт, все, что требуется, это сохранить существующую таблицу в XML и подставьте в теги кода, где требуется вывод данных. Это быстрый и очень эффективный способ работы.
источник
Просто подключитесь к базе данных и создайте файл test.xml в папке вашего проекта.
источник