プログラミング

PHPでのプログラミングで

最近こつこつ進めているPHPプログラム。
XMLを利用するのですが、ノードの切り貼りしなくちゃいけないんですよね。

まだやり始めたばかりだったので、新しくノード作ってそこにコピー元のノードから取り出したデータを入れ直すという凄く面倒な事やっていたんですよ。

何か楽な方法無いかなぁと思っていたらcloneNodeってのがあるわけですよ。
これ使えばいいじゃん! と思ったのですが、こいつがなかなか上手くいかないと。
使い方がワカランのですよw

ふつーにコピー元のノードをcloneNodeでコピーするという形ではないんですよね。

まずコピー元のノードを取得します

$copy = $xpath->query(“/root/data”);
んでクローンノードを作る

$clone = $copy->cloneNode(true);←確か中身もコピーするんだったらtrueにするんだったきがす。

ここからが分からなかった部分。

新しいコピーノードを作る(コピー先の準備)
コピー先にクローンを作ったノードをぶっ込む準備をしてやるわけです。それがimportNode 他からモッテキタノードをインポートするって感じじゃねーかと私は理解したw

$copytmp = $doc->importNode($clone,true);

んで、コピー先のいれたいノードにappendChildしてやりゃ良い訳ですよ。
$コピー先ノード->appendChild($copytmp);

これでXMLのノードをコピーするのがラクラクに。良かった良かった。
まー。こんな情報役に立つかしらんが一応載せておこうw
タイトルとURLをコピーしました