如何向 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
我使用 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