PHP で SimpleXML を使用して Google 製品の RSS フィードを作成しています。製品をデータベースから取得し、RSS ファイルを正常に作成していますが、名前空間に関しては問題があります。
私は Google で Stack Overflow を検索して、名前空間を含む XML フィードを解析する方法に関する多数の投稿に出くわしましたが、私の問題は実際には名前空間を含むXML ファイルを作成することです。
ファイルは次のようになります。
<?xml version="1.0" encoding="UTF-8" ?>
<rss version ="2.0" xmlns:g="http://base.google.com/ns/1.0">
<!-- content -->
</rss>
そして、ここに私のコードがあります:
<?php
$xml = new SimpleXMLElement('<rss></rss>');
$xml->addAttribute('version', '2.0');
$xml->addChild('channel');
$xml->channel->addChild('title', 'Removed');
$xml->channel->addChild('description', 'Removed');
$xml->channel->addChild('link', 'Removed');
foreach ($products as $product) {
$item = $xml->channel->addChild('item');
$item->addChild('title', htmlspecialchars($product['title']));
$item->addChild('description', htmlspecialchars($product['title']));
$item->addChild('link', $product['url']);
$item->addChild('id', $product['product_id']);
$item->addChild('price', $product['price_latest']);
$item->addChild('brand', $product['range']);
$item->addChild('condition', 'new');
$item->addChild('image_link', $product['image']);
}
ルート要素の宣言と、各要素の, , ,のプレフィックスとして、g
名前空間を導入するにはどうすればよいですか?xmlns
rss
id
price
brand
condition
image_link
item