0

我的 XML 文件:

<?xml version="1.0"?>
<file>
    <filename>RLR7610_2012090200293-1.csv</filename>
    <filename>RLR7610_2012090200293-1.pdf</filename>
</file>

我的 PHP 代码:

function generateXML($_datetodelete, $_filenames){
  $xmlFile = new DOMDocument();      
  $xmlFile->load($this->achive_folder.$_datetodelete.".xml");
  $file = $xmlFile->documentElement;

  foreach($_filenames as $filename) {
    $node_filename = $xmlFile->createElement("filename");
    $node_filename->appendChild($xmlFile->createTextNode($filename));                
    $file->appendData($node_filename);
    $xmlFile->saveXML();
  }
}

我想在最后一个标签之后循环并附加子节点<filename>及其文本,但目前它替换所有旧标签<filename>而不是附加。我该怎么做?

4

1 回答 1

3

如果您想在最后将新子项附加到您的 xml 文件中,请使用以下代码。

<?php
    //Load the scores XML file
    $xmlFile = new DOMDocument();
    $xmlFile -> load('file.xml');
    $files = $xmlFile -> getElementsByTagName('file');
    $newfile = $xmlFile -> createElement("filename", "RLR7610_2012090200293-1.xml");
    $files -> item(0) -> appendChild($newfile);
    $xmlFile -> save('file.xml');

    // View XML File Content
    if (file_exists('file.xml')) 
    {
        $xml = simplexml_load_file('file.xml');
        print_r($xml);
    } else
        exit('Failed to Open');
?>
于 2012-10-29T12:25:42.920 回答