【问题标题】:Call to undefined method DOMElement::appendChid() in php [closed]在 php 中调用未定义的方法 DOMElement::appendChid() [关闭]
【发布时间】: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


【解决方案1】:

您犯了拼写错误,而不是appendChild,而是写成appendChid

先改正它,然后检查会发生什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2022-01-14
    相关资源
    最近更新 更多