当你生成一个XML的时候,如果标签内为空的情况下也就是说是空元素的时候会返回<test />
,如何转换成 <test> </test>
呢?
在XML中,它们被认为是完全相同的东西,任何解析器都应该识别这两种形式。但是,有时候就是需要这样格式的情况下能够通过将 LIBXML_NOEMPTYTAG
常量传递到 DOMdocument
的 saveXML()
方法来更改它。
如何在节点内容为空时显示两个标记???
<?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