1

我被困住了DomDocument

这东西工作正常,毫无疑问-

$resource1->appendChild($dom->createAttribute('type'))
          ->appendChild($dom->createTextnode("webcontent"));

它正在添加type="webcontent"到资源节点

但是,当我使用此代码时,它不会将其添加到其中-

$resource1->appendChild($dom->createAttribute('adlcp:scormType'))
          ->appendChild($dom->createTextnode("sco"));

预计会产生 - adlcp:scormType="sco"<--不工作

但是,如果我正在创建 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<--工作

代码 -

$manifestNode->appendChild($dom->createAttribute('xmlns:xsi'))
             ->appendChild($dom->createTextNode("http://www.w3.org/2001/XMLSchema-instance"));

让我知道我做错了什么以及如何让它工作

编辑

错误 -

XML 解析错误:前缀未绑定到命名空间

谷歌搜索与关键字相同 -xml parsing error prefix not bound to a namespace php但没有太大帮助。

4

1 回答 1

1

要在节点上设置属性:

$resource1->setAttribute('type', 'webcontent');

在节点上设置命名空间属性(假设这是由“adlcp”前缀表示的命名空间):

$resource1->setAttributeNS('http://www.adlnet.org/xsd/adlcp_rootv1p2', 'adlcp:scormType', 'sco');
于 2013-10-14T11:05:37.693 回答