【发布时间】:2013-09-04 10:19:24
【问题描述】:
以下是生成此 XML 的 working 代码 -
工作代码链接 - http://codepad.org/aX5HL6Vp
$dom = new DOMDocument('1.0');
$dom->xmlStandalone = false;
$manfiestNode = $dom->createElement('manifest',"");
$manfiestNodeAttr = $dom->createAttribute('identifier');
$date = new DateTime();
$manfiestNodeAttr->value = 'course_'.date_format($date,'U');
$manfiestNode->appendChild($manfiestNodeAttr);
$manfiestNode->appendChild($dom->createAttribute('xmlns:xsi'))->appendChild($dom->createTextNode("http://www.w3.org/2001/XMLSchema-instance"));
$metaData = $dom->createElement('metadata','');
$manfiestNode->appendChild($metaData);
$dom->appendChild($manfiestNode);
var_dump($dom->saveXML());
从代码生成的 XML -
<?xml version="1.0" standalone="no" ?>
<manifest identifier="com.scorm.golfsamples.contentpackaging.multioscosinglefile.20043rd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata>
</metadata>
</manifest>
但我试图将子节点添加到 metadata 节点并且一切都出错了:(
要生成的 XML -
<?xml version="1.0" standalone="no" ?>
<manifest identifier="com.scorm.golfsamples.contentpackaging.multioscosinglefile.20043rd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata>
<schema>ADL SCORM</schema>
<schemaversion>2004 3rd Edition</schemaversion>
</metadata>
</manifest>
代码不工作 -
键盘链接 - http://codepad.org/XLwp4AbQ
$dom = new DOMDocument('1.0');
$dom->xmlStandalone = false;
$manfiestNode = $dom->createElement('manifest',"");
$manfiestNodeAttr = $dom->createAttribute('identifier');
$date = new DateTime();
$manfiestNodeAttr->value = 'course_'.date_format($date,'U');
$manfiestNode->appendChild($manfiestNodeAttr);
$manfiestNode->appendChild($dom->createAttribute('xmlns:xsi'))->appendChild($dom->createTextNode("http://www.w3.org/2001/XMLSchema-instance"));
$metaData = $dom->createElement('metadata','');
$manfiestNode->appendChild($metaData);
$schema = $dom->createElement('schema','ADL SCORM');
$schemaVersion = $dom->createElement('schemaversion', '2004 3rd Edition');
$metaData->appendChid($schema);
$metaData->appendChid($schemaVersion);
$dom->appendChild($manfiestNode);
var_dump($dom->saveXML());
错误 -
致命错误:调用未定义的方法 DOMElement::appendChid()
让我知道我做错了什么?
【问题讨论】:
-
很糟糕 :( 投票关闭它 :(
Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist 1 -
你试过@number50 回答吗?您关于拼写错误的问题。
-
@Bora 是的,这就是我添加此评论的原因:(
标签: php xml xml-parsing domdocument