Mysql データベースから Xml ファイルを作成する必要があります。私はxmlファイルを生成するためにphpスクリプトを使用しています。ここで、xml ファイルを生成するために使用している php コードの一部を示します。
// create a new XML document
$doc = new DomDocument('1.0', 'UTF-8');
// create root node
$root = $doc->appendChild($doc->createElement('rss'));
$root->setAttribute('version', '2.0');
$root->setAttribute('encoding', 'UTF-8');
// create children
while($row = mysql_fetch_assoc($result)) {
// add node for each row
$occ = $doc->createElement('item');
$occ = $channelNode->appendChild($occ);
// add a child node for each field
foreach ($row as $fieldname => $fieldvalue) {
if($fieldname =='description') {
$newcdata=$doc->createCDATASection($fieldvalue);
$child = $doc->createElement($fieldname);
$child = $occ->appendChild($child);
$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($newcdata);
}
else {
$child = $doc->createElement($fieldname);
$child = $occ->appendChild($child);
$value = $doc->createTextNode($fieldvalue);
$value = $child->appendChild($value);
}
} // foreach
} // while
このプログラムはうまく機能しています。この問題は、データベースに XML ファイルに挿入する特殊文字がある場合に発生します。この場合、使用してデータを挿入しようとしてCDATA
いますが、機能していません。では、どうすれば特殊文字を Xml ファイルに挿入できますか?