DOMDocument :: createElement本身与appendChild配对的区别

时间:2012-04-17 12:44:52

标签: php domdocument

之间有什么区别
    $table = $doc->createElement('table');
    $doc->appendChild($table);

    $tr = $doc->createElement('tr');
    $table->appendChild( $tr );

    $td = $doc->createElement('td');
    $tr->appendChild($td);

    $table = $doc->createElement('table');

    $tr = $doc->createElement('tr');
    $table->appendChild( $tr );

    $td = $doc->createElement('td', 'Competition');
    $tr->appendChild($td);

真的有必要有第一个追加孩子吗?它似乎没有它,但我删除它时没有看到任何明显的变化。我想在这种情况下确认它是一回事。

其他单个标签怎么样?

$p1 = $doc->createElement('p', 'test text1');
$p2 = $doc->createElement('p', 'test text1');

是否有必要为每个$p1$p2创建一个追加子项?

1 个答案:

答案 0 :(得分:1)

来自documentation

  

DOMDocument::createElement

     

此函数创建类DOMElement的新实例。除非插入(例如)DOMNode::appendChild(),否则此节点将显示在文档中。

因此,您必须调用DOMNode::appendChild()将节点插入文档。运行第二块代码不会这样做(在下面测试:PHP 5.3.5,libxml 2.7.7 )。