【问题标题】:XML File generated with DOMDocument not showing encoding使用 DOMDocument 生成的 XML 文件未显示编码
【发布时间】:2014-05-25 14:48:41
【问题描述】:
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->xmlStandalone = true;
$doc->loadXML($error);
echo $doc->saveXML();

输出

<?xml version="1.0"?>
<error status="fatal" httpResponseCode="500" httpResponseMessage="Internal Server Error">
        <errorType>InternalServerError</errorType>
        <errorServer>FeedServer</errorServer>
        <errorMessage>Failed to process GetFeed request</errorMessage>
        <friendlyMessage/>
        <innerMessage>No permitted outlet found</innerMessage>
</error>

我需要 XML 输出应显示 encoding="UTF-8" 以及 version="1.0" 请帮忙...

修复后.....

$doc    = new DOMDocument('1.0', 'UTF-8');
$doc->loadXML($error);
$doc->xmlStandalone = true;
$doc->encoding = 'UTF-8';
echo $doc->saveXML(); 

所需的输出...

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<error status="fatal" httpResponseCode="500" httpResponseMessage="Internal Server Error">
        <errorType>InternalServerError</errorType>
        <errorServer>FeedServer</errorServer>
        <errorMessage>Failed to process GetFeed request</errorMessage>
        <friendlyMessage/>
        <innerMessage>No permitted outlet found</innerMessage>
</error>

【问题讨论】:

标签: xml encoding utf-8 domdocument xmldom


【解决方案1】:

new DOMDocument 构造函数中的参数在调用 loadXML 时被加载的 XML 文档中的值覆盖。

如果您设置了输出文档的编码(例如$doc-&gt;encoding = 'UTF-8',在调用saveXML之前),则应将其添加到XML声明中。

【讨论】:

  • 谢谢..它有效:) :) 我正在上传最终代码。
猜你喜欢
  • 2014-12-29
  • 1970-01-01
  • 2015-11-03
  • 2016-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 2011-03-02
相关资源
最近更新 更多