php - 在 SimpleXML 中美化/格式化输出

标签 php formatting simplexml

我有这个 simplexml 脚本,我用它来发布从表单输入的数据。

$xml = simplexml_load_file("links.xml");

$sxe = new SimpleXMLElement($xml->asXML()); 

$person = $sxe->addChild("link");
$person->addChild("title", "Q: ".$x_title);
$person->addChild("url", "questions_layout.php#Question$id");

$sxe->asXML("links.xml"); 

当它出来时,它在一行中看起来像这样:

<link><title>Alabama State</title><url>questions_layout.php#Question37</url></link><link><title>Michigan State</title><url>questions_layout.php#Question37</url></link></pages>

但我已经尝试了找到的方法 HERETHIS AS WELL但都没有在行中正确格式化 XML,因为它们应该是这样的

<link>
<title></title>
<url></url>
</link>

在第一个引用链接中,我什至将 loadXML 更改为 load,因为 loadXML 需要一个字符串作为 XML。有人可以帮我找到解决方案吗?

最佳答案

AFAIK simpleXML 无法自行完成。

但是,DOMDocument 可以。

$dom = dom_import_simplexml($sxe)->ownerDocument;
$dom->formatOutput = TRUE;
$formatted = $dom->saveXML();

关于php - 在 SimpleXML 中美化/格式化输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10133157/

相关文章:

php - 仅使用mysql查询从第二个表中获取第一个表作为数组的记录

excel - VBA 不会改变所有单元格的格式

php - 如何限制 SimpleXML 结果的总数?

php - SimpleXml 如何正确设置编码和 xmls?

php - 在我的 1&1 网络服务器上使用 simplexml 解析 XML 时出错,而不是在本地 EasyPHP 服务器上?

php - 为什么 HTML 电子邮件的一部分在电子邮件客户端中显示为文本?

php - php pdo 内存不足

php - 在 CQRS 中反规范化的最佳实践是什么?

javascript - Visual Studio.NET 2010 javascript 格式化

google-sheets - 为什么有时无法编辑 Google 表格公式行间距?