使用PHP的XML文件-更改前两行UTF-8
我有一个XML文件,它用特定的节点以特定的方式格式化。我有以下PHP代码(在test.PHP中)每周创建一个新的XML文件,或者在同一周内添加一个条目时附加XML文件使用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
$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');
}