创建新的 XML 文件并向其中写入数据?

2022-08-30 14:28:24

我需要创建一个新的XML文件并将其写入我的服务器。因此,我正在寻找创建新的XML文件的最佳方法,向其写入一些基本节点,保存它。然后再次打开它并写入更多数据。

我一直在使用保存文件。但是,要创建一个新的节点并编写一些基本节点,我不确定最好的方法。file_put_contents()

想法?


答案 1

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");

答案 2

PHP有几个用于XML操作的库。

文档对象模型 (DOM) 方法(这是一种 W3C 标准,如果您在其他环境(如 Web 浏览器或 Java 等)中使用它,则应熟悉该方法)。允许您按如下方式创建文档

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

即使您以前没有遇到过DOM,也值得在其中投入一些时间,因为该模型在许多语言/环境中使用。


推荐