如何向 XML DOMDocument 的根元素添加属性

how do you add an attibute to root element of XML DOMDocument

我使用 DOMDocument 和简单XML 创建了一个 XML 文档。我需要向根元素添加属性。

以下是我创建文档和元素的方式。您会注意到,尽管文档最初是由 DOMDocument 创建的,但 child/user 节点是使用简单的 XML.

创建的
$dom = new DOMDocument('1.0','UTF-8');

    /*** create the root element ***/ 
    $root = $dom->appendChild($dom->createElement( "Feed" )); 


    /*** create the simple xml element ***/ 
    $sxe = simplexml_import_dom( $dom ); 

    /*** add a user node ***/ 
    $firstChild = $sxe->addchild("FirstChild");  

我尝试像这样将属性添加到根:

$root = $dom->appendData($dom->createAttribute("extractDate", "$now"));

但这不起作用。

使用DOMDocument,可以使用DOMElement::setAttribute方法设置属性:

$dom = new DOMDocument('1.0','UTF-8');
$root = $dom->createElement("Feed");  
$attr = $root->setAttribute("extractDate", "$now"); // <-- here

$dom->appendChild($root);

对于SimpleXML,您需要使用SimpleXMLElement::addAttribute方法:

$sxe = simplexml_import_dom($dom);
$sxe->addAttribute("extractDate", "$now"); // <-- here