错误“未捕获异常'DOMException',消息'命名空间错误'”在
中 $dom = new DOMDocument('1.0', 'utf-8');
$root = $dom->createElement('MyRoot','Hello');
$root->setAttributeNS('http://www.w3.org/1999/xlink','xmlns:xlink','xlink');
$dom->appendChild($root);
die($dom->saveXML());
如何在根标记处设置xmlns
声明?以生成
<MyRoot xmlns:xlink="http://www.w3.org/1999/xlink"/>Hello</MyRoot>
答案 0 :(得分:2)
xmlns:xlink的名称空间不是它的值,而是标准名称空间。前缀xmlns用于标准名称空间http://www.w3.org/2000/xmlns/
。您不需要定义该命名空间。
所有命名空间属性(xmlns =“...”除外)都是此命名空间的一部分。
$dom = new DOMDocument('1.0', 'utf-8');
$root = $dom->createElement('MyRoot','Hello');
$root->setAttributeNS(
'http://www.w3.org/2000/xmlns/','xmlns:xlink','http://www.w3.org/1999/xlink'
);
$dom->appendChild($root);
echo($dom->saveXML());
输出:
<?xml version="1.0" encoding="utf-8"?>
<MyRoot xmlns:xlink="http://www.w3.org/1999/xlink">Hello</MyRoot>
答案 1 :(得分:0)
设置XMLNS名称空间,然后设置xmlns:xlink
的属性名称,然后设置要设置的属性的值...这是xlink网址。
$dom = new DOMDocument('1.0', 'utf-8');
$root = $dom->createElement('MyRoot','Hello');
$root->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns:xlink','http://www.w3.org/1999/xlink');
$dom->appendChild($root);
die($dom->saveXML());
<?xml version="1.0" encoding="utf-8"?>
<MyRoot xmlns:xlink="http://www.w3.org/1999/xlink">Hello</MyRoot>