Создать новый XML-файл и данные записи к нему?

Я должен создать новый XML-файл и записать это в мой сервер. Так, я ищу лучший способ создать новый XML-файл, записать некоторые основные узлы в него, сохранить его. Затем откройте его снова и запишите больше данных.

Я использовал file_put_contents() сохранить файл. Но, чтобы создать новый и записать некоторые основные узлы я не уверен в лучшем методе.

Идеи?

30
задан FOX 9000 26 May 2014 в 17:23
поделиться

2 ответа

Domdocument - отличный выбор. Это модуль, специально разработанный для создания и управления документами XML. Вы можете создать документ с нуля или открывать существующие документы (или строки) и перемещаться и изменять их структуры.

$xml = new DOMDocument();
$xml_album = $xml->createElement("Album");
$xml_track = $xml->createElement("Track");
$xml_album->appendChild( $xml_track );
$xml->appendChild( $xml_album );

$xml->save("/tmp/test.xml");

Чтобы повторно открыть и писать:

$xml = new DOMDocument();
$xml->load('/tmp/test.xml');
$nodes = $xml->getElementsByTagName('Album') ;
if ($nodes->length > 0) {
   //insert some stuff using appendChild()
}

//re-save
$xml->save("/tmp/test.xml");
63
ответ дан 27 November 2019 в 23:20
поделиться

Я сделал краткий бит LUA, кодирующую пару лет назад, но я больше не свободно свободно.

Когда столкнулся с подобной проблемой, я скопировал свой массив на другой массив с ключами и значениями изменениями, затем используемым сортировка на новом массиве.

Я не знал о возможности сортировки массива, используя метод Cornel Kisielewicz.

-121--2124013-

PHP имеет несколько библиотек для манипуляций XML .

Модель объекта документа (DOM) (который является стандартом W3C и должен быть знакомым, если вы использовали его в других средах, таких как веб-браузер или Java и т. Д.). Позволяет создавать документы следующим образом

<?php
    $doc = new DOMDocument( );
    $ele = $doc->createElement( 'Root' );
    $ele->nodeValue = 'Hello XML World';
    $doc->appendChild( $ele );
    $doc->save('MyXmlFile.xml');
?>

Даже если вы не сталкиваетесь до DOM раньше, стоит инвестировать в нем некоторое время, так как модель используется на многих языках / средах.

13
ответ дан 27 November 2019 в 23:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: