使用PHP的XML文件-更改前两行UTF-8

使用PHP的XML文件-更改前两行UTF-8,php,xml,encoding,Php,Xml,Encoding,我有一个XML文件,它用特定的节点以特定的方式格式化。我有以下PHP代码(在test.PHP中)每周创建一个新的XML文件,或者在同一周内添加一个条目时附加XML文件 $filename = date('Y-W').'.xml'; //2014-26.xml //Check if a file exists if (file_exists($filename)) { // call xml appendFile function appendFile($filenam

我有一个XML文件,它用特定的节点以特定的方式格式化。我有以下PHP代码(在test.PHP中)每周创建一个新的XML文件,或者在同一周内添加一个条目时附加XML文件

$filename = date('Y-W').'.xml'; //2014-26.xml

//Check if a file exists
if (file_exists($filename)) 
    {
    // call xml appendFile function
    appendFile($filename);
    }
else 
    {
    // call xml createFile function
    createFile($filename);
    }
创建新文件时(例如2014-26.xml),xml文件的前两行如下所示:

<?xml version="1.0"?>
<entry>
// create a root element, and add it to DOM
    addRoot($xml);
// create new dom document
    $xml = new DOMDocument('1.0', 'UTF-8');
我在createFile函数中调用这个函数,如下所示

<?xml version="1.0"?>
<entry>
// create a root element, and add it to DOM
    addRoot($xml);
// create new dom document
    $xml = new DOMDocument('1.0', 'UTF-8');
我试图简单地将“entry”更改为我需要的第二行,但收到了一个错误。有人知道我如何改变这两条最上面的线来满足我的要求吗?因为我已经尝试了好几天,但都没有结果?我对XML非常陌生。谢谢。

第1部分的解决方案

我通过在这行代码中输入“UTF-8”修复了第一行,如下所示

<?xml version="1.0"?>
<entry>
// create a root element, and add it to DOM
    addRoot($xml);
// create new dom document
    $xml = new DOMDocument('1.0', 'UTF-8');
第2部分的解决办法

万一其他人也有这个问题,我就可以把第二行代码改成

function addRoot(&$xml)
{   
    $root = $xml->createElementNS('urn:iso:std:iso:20022:tech:xsd:pain.008.001.02', 'Document');
    $xml->appendChild($root);
    $root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
}