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

Nic*_*ard 30 php xml file

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

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

想法?

zom*_*bat 63

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");
Run Code Online (Sandbox Code Playgroud)

重新开放和写:

$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");
Run Code Online (Sandbox Code Playgroud)

  • 在DOMDocument对象上设置"formatOutput"属性:`$ xml-> formatOutput = true`.http://ca.php.net/manual/en/class.domdocument.php#domdocument.props.formatoutput (5认同)

Rob*_*tie 13

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');
?>
Run Code Online (Sandbox Code Playgroud)

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