- - PR -
XMLを合体したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-03-18 17:16
お世話になってます、ronです。
Delphi2005の.NETモードで作成しています。 XMLドキュメントを作成するプログラムを作っているのですが、一気に作るとミスが出るような気がして、部分部分を作ってあとでつなぎ合わせようと思っていました。 が、全然うまくいきません。(^^;;; それで単純なXMLファイルを作って実験していますが、症状は同じ物が出ます。作ったXMLは以下のような物です。 Sample1.XML <hoehoe> <hogehoge>1</hogehoge> </hoehoe> Sample2.XML <hoehoe> <hogehoge>2</hogehoge> <hogehoge>3</hogehoge> </hoehoe> これらを足しあわせて以下のような物を作りたいと考えています。 SampleX.XML <hoehoe> <hogehoge>1</hogehoge> <hogehoge>2</hogehoge> <hogehoge>3</hogehoge> </hoehoe> コードは以下のように書いてみました。 xmlDoc1 := XmlDocument.Create; xmlDoc1.Load('Sample1.XML'); Elem1 := xmlDoc1.DocumentElement; xmlDoc2 := XmlDocument.Create; xmlDoc2.Load('Sample2.XML'); Elem2 := xmlDoc2.DocumentElement; Node2 := xmlDoc2.ImportNode(Elem2.LastChild,True); Elem1.AppendChild(Node2); xmlDoc1.save('SampleX.XML'); が、このコードを実行すると、「挿入するノードは、異なるドキュメントコンテキストのものです」というエラーがでて、話が全然先に進みません。 MSのサンプルコードを見る限り動くはずなんですが、現実は厳しいみたいです。 |
|
投稿日時: 2005-03-18 23:10
> Node2 := xmlDoc2.ImportNode(Elem2.LastChild,True);
xmlDoc1.ImportNodeの間違いですね。 |
|
投稿日時: 2005-03-22 10:09
ご返答ありがとうございます、単純なコーディングエラーだったようですね。
(^^;;; Node2にSample2.xmlの内容をコピーして、それをSample1.xmlに足し込むような認識でいました。教えていただいてアレなんですが、なんかこう、いまいちしっくりきません。 XMLの奥は深いようです。 |
1