2008年05月08日

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

人気ブログランキングへ
posted by Fuchs at 22:09 | Comment(0) | TrackBack(0) | プログラミング
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/14753619
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック

人気ブログランキングへ