SimpleXMLElementで名前空間のある要素を出力する

SimpleXMLElementを利用してRSSフィードを作成・出力する際、content:encodedの出力処理に悩んだ。

以下は最終的に出力できたコード。
jsonデータを配列にする($json)処理は割愛。h()htmlspecialcharsを関数化したもの。

$RSS = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>[サイト名]</title>
<description>[サイト名] RSS Feed</description>
<link>[サイトURL]</link>
</channel>
</rss>
EOT;
$rss_xml = new SimpleXMLElement($RSS);
foreach ($json as $rss => $rss_values):
$rss_values = array_slice($rss_values, 0, 20);
foreach ($rss_values as $rss_key => $rss_value):
$rss_id = h($rss_value['id']);
$date_format = DateTime::createFromFormat('Y-m-d H:i:s', h($rss_value['date']));
$rss_date = $date_format->format(DateTime::RSS);
$rss_comment = h($rss_value['comment']);
$item = $rss_xml->channel->addChild('item');
$item->addChild('title', $rss_id);
$item->addChild('description', mb_substr(strip_tags($rss_comment), 0, 20));
$item->addChild('link', SITE_URL. '?id=' . $rss_id);
$item->addChild('guid', SITE_URL. '?id=' . $rss_id);
$item->addChild('encoded', $rss_comment, 'http://purl.org/rss/1.0/modules/content/');
$item->addChild('pubDate', $rss_date);
endforeach;
endforeach;
header('Content-Type: text/xml');
echo $rss_xml->asXML();

$item->addChild('encoded', $rss_comment, 'http://purl.org/rss/1.0/modules/content/');の部分で、第3引数にxmlns:contentで指定したのと同じものを指定すると、<content:encoded>エスケープ処理された$rss_commentのHTML</content:encoded>の形で出力してくれる。

"&quot;に変換されなかったんだけど、なんでだろう…という謎は残ってる。