在PHP中使用SimpleXML创建具有命名空间的RSS元素
我正在尝试创建一个rss提要,其中一个元素是在PHP中使用SimpleXML创建具有命名空间的RSS元素,php,xml,rss,Php,Xml,Rss,我正在尝试创建一个rss提要,其中一个元素是 <content:encoded></content:encoded> 我得到的结果是: <encoded> .................. </encoded> 。。。。。。。。。。。。。。。。。。 我没有得到内容命名空间,我如何才能得到它?正如您在中看到的,您需要提供命名空间URI作为addChild()的第三个参数,以便在命名空间中正确创建元素: $item->addChild(
<content:encoded></content:encoded>
我得到的结果是:
<encoded> .................. </encoded>
。。。。。。。。。。。。。。。。。。
我没有得到内容命名空间,我如何才能得到它?正如您在中看到的,您需要提供命名空间URI作为addChild()
的第三个参数,以便在命名空间中正确创建元素:
$item->addChild(
'content:encoded',
htmlspecialchars($itemdata->description),
'namespace-URI-for-content-prefix-here'
);
快速演示:
$raw = '<root xmlns:content="mynamespace"></root>';
$item = new SimpleXMLElement($raw);
$item->addChild(
'content:encoded',
'foo bar baz',
'mynamespace'
);
echo $item->asXML();
<?xml version="1.0"?>
<root xmlns:content="mynamespace"><content:encoded>foo bar baz</content:encoded></root>
<?xml version="1.0"?>
<root xmlns:content="mynamespace"><content:encoded>foo bar baz</content:encoded></root>