性能 - 由DOMDocument生成xml与纯字符串

时间:2014-08-07 19:53:28

标签: php xml domdocument

我在后端生成一个XML字符串,并将其作为对浏览器的响应返回 从性能的角度来看,问题是,哪种方法更好:使用DOMDocument生成XML或将XML生成为字符串。

例如,我可以生成一个简单的XML,如下所示

$value = 'My Name';
$attribute = 'Mn';
$xml = '<?xml version="1.0" encoding="UTF-8" ?><root>';
$xml .= "<name initialize=\"$attribute\">$value</name>";
$xml .= '</root>';
return $xml;

或者我可以将DOMDocument用作

$value = 'My Name';
$attribute = 'Mn';
$xml = new DOMDocument('1.0', 'UTF-8');
$root = $xml->appendChild($xml->createElement('root'));
$newnode = $xml->createElement('name', $value);
$attrib = $xml->createAttribute('initialize');
$attrib->value = $attribute;
$newnode->appendChild($attrib);
$root->appendChild($newnode);
return $xml->saveXML();

输出可能在IE兼容的视图模式甚至怪异模式下使用,我认为比较每个提到的方法可能很重要
如果有人能告诉我每个人的利弊(性能,速度等),这将是很有帮助的。 感谢它,并提前感谢。

1 个答案:

答案 0 :(得分:2)

我会使用字符串操作。 DOM适用于解析并可能修改现有的 XML文档。对于创建,普通字符串操作的开销比DOM少。

但是,可能仍然存在创建xml更复杂并涉及应用程序的多个组件的情况,这些组件在呈现之前共享未完成的XML。在这种情况下,DOM可能值得开销......这取决于......

在您在问题中显示的简单示例中,我将使用字符串操作。