简单的问题,如何使用DOMDocument?
<backend>
<type value="File" />
<cache_dir>
<zf:const zf:name="APPLICATION_PATH"/>.cache</cache_dir>
</backend>
没有以下结果:
<backend>
<type value="File"/>
<cache_dir><zf:const zf:name="APPLICATION_PATH"/>.cache</cache_dir>
</backend>
我在这里做了什么:
$backendNode = $paramsNode->appendChild($cnfXml->createElement('backend'));
$backendNode->appendChild($cnfXml->createElement('type'))->setAttribute('value', 'File');
$pathnode = $backendNode->appendChild($cnfXml->createElement('cache_dir'));
$pathnode->appendChild($cnfXml->createElement('zf:const'))->setAttribute('zf:name', 'APPLICATION_PATH');
$pathnode->nodeValue .= '.cache';
答案 0 :(得分:0)
这对我有用,假设您的命名空间zf
是针对Zend框架的(并且URI是正确的)。在操作特定命名空间的节点时,必须使用正确的命名空间函数。
$backendNode = $paramsNode->appendChild($cnfXml->createElement('backend'));
$backendNode->appendChild($cnfXml->createElement('type'))->setAttribute('value', 'File');
$pathnode = $backendNode->appendChild($cnfXml->createElement('cache_dir'));
$pathnode->appendChild($cnfXml->createElementNS('http://framework.zend.com/xml/zend-config-xml/1.0/', 'zf:const'))->setAttributeNS('http://framework.zend.com/xml/zend-config-xml/1.0/', 'zf:name', 'APPLICATION_PATH');
$pathnode->appendChild( $cnfXml->createTextNode( '.cache'));
<backend>
<type value="File"/>
<cache_dir><zf:const zf:name="APPLICATION_PATH"/>.cache</cache_dir>
</backend>