※ ChatGPTを利用し、要約された質問です(原文:XML DOM ルートノード直下に子ノードを持つノードを追加)
XML DOMルートノードに子ノードを追加する方法
このQ&Aのポイント
XMLファイルに新しいデータを追加するためには、XML DOMを使用することができます。
ただし、既存のルートノードの下に新しい子ノードを追加する場合、適切な手順を踏む必要があります。
具体的には、createElementメソッドを使用して新しいノードを作成し、appendChildメソッドを使用して既存のルートノードに追加します。
XML DOM ルートノード直下に子ノードを持つノードを追加
XML DOMを利用して、XMLファイルにデータを追加するPHPを書いています。
リファレンス等を参照して、追加は出来るようになったのですが
ルートノードが増えていってしまいます。
:::::::::::::::::::::::::::::::::::::::::::::::::::::
define("XMLFILE", "○○.xml");
header("Content-Type: text/html; charset=UTF-8");
$doc = new DOMDocument("1.0","UTF-8");
$doc->formatOutput = TRUE;
$doc->load(XMLFILE) or die("ファイルを読み込めません\n");
$record = $doc->createElement("record");
$date = $doc->createElement("date","日付サンプル");
$title = $doc->createElement("title","タイトルサンプル");
$paragraph = $doc->createElement("paragraph","パラグラフ");
$number = $doc->createAttribute("number");
$number->value ="004";
$doc->appendChild($record);
$record->appendChild($number);
$record->appendChild($date);
$record->appendChild($title);
$record->appendChild($paragraph);
print htmlspecialchars($doc->saveXML(), ENT_NOQUOTES);
$doc->save(XMLFILE) or die("ファイルを保存できません。");
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
どのようにすれば、ルートノードの下に新規ノードが入ってくれるのでしょうか。
どなたか教えて頂けるととても嬉しいです。
よろしくお願いします。
お礼
回答ありがとうございます! 早速、コードを書き直してみたら ルートの下に足されるようになってくれました!! 本当に、ありがとうございました!!