Php 无法在XML节点中创建空值
我试图将一个子元素附加到XML节点Php 无法在XML节点中创建空值,php,xml,domdocument,Php,Xml,Domdocument,我试图将一个子元素附加到XML节点 $rel->appendChild($domtree->createElement('title',NULL)); 我希望它像这样输出 <title></title> 但是我得到了这个 <title/> 如何使用空值创建此节点?您需要显式添加一个空文本节点: $title = $domtree->createElement('title'); $title->appendChild($d
$rel->appendChild($domtree->createElement('title',NULL));
我希望它像这样输出
<title></title>
但是我得到了这个
<title/>
如何使用空值创建此节点?您需要显式添加一个空文本节点:
$title = $domtree->createElement('title');
$title->appendChild($domtree->createTextNode(''));
$rel->appendChild($title);
createElement()
的第二个参数是非标准的,我个人不使用它,因为它可能会产生像这样稍微不直观的行为
在我看来,您应该始终明确地创建文本节点。这样做的另一个原因是,文本节点会自动正确处理转义,这与非标准的第二个参数不同,后者要求您手动转义文本数据。以下是如何从数组(包括空元素)轻松构建xml供以后参考: 结果:
<?xml version="1.0" encoding="UTF-8"?>
<test>
<foo>foo</foo>
<bar>bar</bar>
<baz>
<empty></empty>
</baz>
</test>
福
酒吧
问问题的人做了与你想做的相同的事情:那又怎样,我得到了答案。。。
<?xml version="1.0" encoding="UTF-8"?>
<test>
<foo>foo</foo>
<bar>bar</bar>
<baz>
<empty></empty>
</baz>
</test>