PHP 生成 XML 空元素简写的问题

当你生成一个XML的时候,如果标签内为空的情况下也就是说是空元素的时候会返回<test />,如何转换成 <test> </test> 呢?

在XML中,它们被认为是完全相同的东西,任何解析器都应该识别这两种形式。但是,有时候就是需要这样格式的情况下能够通过将 LIBXML_NOEMPTYTAG 常量传递到 DOMdocumentsaveXML() 方法来更改它。

如何在节点内容为空时显示两个标记???

<?php
$dom     = new \DOMDocument('1.0');
$document = $dom->createElement('document');
$document = $dom->appendChild($document);
$head = $dom->createElement('title','this is title');
$content = $dom->createElement('content','');
$document->appendChild($head);
$document->appendChild($content);
echo $dom->saveXML();
?>

在XML中,它们被认为是完全相同的东西,任何解析器都应该识别这两种形式。但是,如果仍然需要,可以这样写

<?php
echo $dom->saveXML($dom->documentElement, LIBXML_NOEMPTYTAG);
?>
输出1:
<?xml version="1.0"?>
<document>
    <title>this is title</title>
    <content/>
</document>

输出2:
<document>
    <title>this is test</title>
    <content></content>
</document>

使用示例:
DOMDocument::saveXML

发布了41 篇原创文章 · 获赞 21 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/u010324331/article/details/86512009