PHP DOM XML formatoutput 在第一行添加白色 space
PHP DOM XML formatoutput adding white space in the first line
我一直在为这个问题苦苦挣扎,我想不通为什么 xml 文件的第一行有一个白色的 space。
我将 XML 创建为字符串,如下所示:
$xml = '<?xml version="1.0" encoding="utf-8" standalone="no" ?>';
$xml .= '<AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.03_01">';
下图代表上面的代码。
然后我这样保存文件
$xml = new DOMDocument('1.0');
$xml->preserveWhiteSpace = FALSE;
$xml->formatOutput = TRUE;
$xml->loadXML($xmlString);
$xml->save('myfile.xml');
现在的问题是文件的第一行包含 space。
我怎样才能删除它?我试过没有成功 ltrim($xmlString);
已解决.
我发现问题不在 class DOMDocument
上,而是在允许用户下载文件的功能上。
以前我有这个:
header('Content-Description: File Transfer');
header('Content-Type: text/xml');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
并且这段代码在下载后在文件中添加了额外的空格。为了解决这个问题,我必须在 readfile()
.
之前添加 ob_clean()
我一直在为这个问题苦苦挣扎,我想不通为什么 xml 文件的第一行有一个白色的 space。
我将 XML 创建为字符串,如下所示:
$xml = '<?xml version="1.0" encoding="utf-8" standalone="no" ?>';
$xml .= '<AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.03_01">';
下图代表上面的代码。
然后我这样保存文件
$xml = new DOMDocument('1.0');
$xml->preserveWhiteSpace = FALSE;
$xml->formatOutput = TRUE;
$xml->loadXML($xmlString);
$xml->save('myfile.xml');
现在的问题是文件的第一行包含 space。
我怎样才能删除它?我试过没有成功 ltrim($xmlString);
已解决.
我发现问题不在 class DOMDocument
上,而是在允许用户下载文件的功能上。
以前我有这个:
header('Content-Description: File Transfer');
header('Content-Type: text/xml');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
并且这段代码在下载后在文件中添加了额外的空格。为了解决这个问题,我必须在 readfile()
.
ob_clean()