Php SimpleXML::addChild()可以';输出到xml时不添加换行符 标题3这是一些描述
使用asXML()输出时,每个节点元素之间没有换行符 如何通过在包含子元素节点的每个XML元素打开和关闭标记后添加换行符,使输出文件结构良好:Php SimpleXML::addChild()可以';输出到xml时不添加换行符 标题3这是一些描述,php,simplexml,Php,Simplexml,使用asXML()输出时,每个节点元素之间没有换行符 如何通过在包含子元素节点的每个XML元素打开和关闭标记后添加换行符,使输出文件结构良好: <?xml version="1.0" encoding="utf-8"?><items> <item><title>title3</title><desc>This is some desc3</desc></item></items> 标题
<?xml version="1.0" encoding="utf-8"?><items>
<item><title>title3</title><desc>This is some desc3</desc></item></items>
标题3
这是一些描述
SimpleXML扩展仅限于格式化输出,它的姊妹扩展支持输出格式化。示例中的XML字符串,并使用DOMDocument::$preserveWhiteSpace
和DOMDocument::$formatOutput
控制格式化设置:
<?xml version="1.0" encoding="utf-8"?>
<items>
<item>
<title>title3</title>
<desc>This is some desc3</desc>
</item>
</items>
这将输出一个缩进良好的XML,其中包含您要求的换行符:
$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;
$doc->loadXML($string);
echo $doc->saveXML();
标题3
这是一些描述
如果需要进一步操作缩进,可以使用相关问答中概述的正则表达式:
如果不想使用该方法,还可以从SimpleXML切换到其他方法,然后切换到XMLWriter,后者提供了设置打印XML缩进()的方法。您需要找到XML模型的临时表示,以便使用
XMLWriter
编写它,但这看起来并不是那么简单。使用DOMDocument,它可以选择格式化html/XML数据
<?xml version="1.0" encoding="utf-8"?>
<items>
<item>
<title>title3</title>
<desc>This is some desc3</desc>
</item>
<empty/>
</items>