PHP と DOM ドキュメントを使用して Google Merchant のフィードを作成しようとしています。
フィードには何千もの項目が含まれていますが、検証に失敗するのは、XML の形式が正しくないごく少数のケース (6000 件中 4/5 件以上) があるためです。次に例を示します。
<g:product_type>Plantsg:product_type>
foreach ループで生成しています
//Loop through each plant
foreach($plantList as $plantItem){
//begin item element
$item = $xml->createElement('item');
//Loop through use key as element name and value as data
foreach ($plantItem as $key => $value)
{
//Decode HTML characters, for example '&' becomes &
//to comply with http://www.w3.org/TR/xhtml1/#C_12
$decode = htmlspecialchars_decode($value);
$decode = trim($decode);
if(empty($decode))
continue;
//Create the element
$tag = $xml->createElement($key);
$tag = $item->appendChild($tag);
//Write the field
$text = $xml->createTextNode($decode);
$text = $tag->appendChild($text);
}
$item = $channel->appendChild($item);
}
3 つの不正なタグを次に示します。
g:adwords_grouping>18</g:adwords_grouping>
form>10 ltr pot</form>
title>Buy Helleborus x nigercors</title>
コードを調整すると、不正なタグがさまざまな場所に表示されます。通常、そのどちらかが欠けています '