duanbo5230 2016-01-30 13:39
浏览 89
已采纳

格式化SimpleXMLElement

According to this answer it is possible to echo out formatted xml. Yet this php code:

$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><data></data>");
$xml->addChild("child1", "value1");
$xml->addChild("child2", "value2");

$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
echo $dom->saveXML();

outputs value1 value2

So how do I format it correctly nowadays?

  • 写回答

1条回答 默认 最新

  • doupijin0397 2016-01-30 14:09
    关注

    To echo out formatted XML (or HTML) you have to use htmlentities built-in function, that “convert all applicable characters to HTML entities”.

    In your case:

    echo htmlentities($dom->saveXML());
    

    will output this:

    <?xml version="1.0" encoding="utf-8"?> <data> <child1>value1</child1> <child2>value2</child2> </data>
    

    Using-it together with <pre> html tag, also newlines and spaces will be printed:

    echo '<pre>' . htmlentities($dom->saveXML()) . '</pre>';
    

    will output this:

    <?xml version="1.0" encoding="utf-8"?>
    <data>
        <child1>value1</child1>
        <child2>value2</child2>
    </data>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 怎样才能让鼠标沿着线条的中心线轨迹移动
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?