DOM で XML 文書を結合する例を探していたら、下記のものが見つかりました。
http://www.atmarkit.co.jp/fxml/askxmlexpert/020m …
これを参考に、PHP5 でテストするために、下記のスクリプトを作成しました。
<?php
$r1 = new DomDocument;
$r1->loadXML("<Items><Item>a</Item></Items>");
$r1rt = $r1->documentElement;
$r2 = new DomDocument;
$r2->loadXML("<Item>b</Item>");
$r2rt = $r2->documentElement;
$r1rt->insertBefore($r2rt,null);
$r1->encoding = "utf-8";
print $r1->saveXML();
?>
このスクリプトを実行すると、insertBefore のところで例外が発生しエラーになってしまいます。何が悪いのでしょうか?
最終的にやりたいのは XML 文書を結合するということなので、DOM にはこだわりません。何か良い方法があれば、お知恵をお貸し下さい。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
# ソースにコメントをつけて回答します。
$r1 = new DomDocument;
$r1->loadXML("<Items><Item>a</Item></Items>");
$r1rt = $r1->documentElement;
$r2 = new DomDocument;
$r2->loadXML("<Item>b</Item>");
$r2rt = $r2->documentElement;
# 違うXMLドキュメントからコピーする場合はちゃんと
# importNodeを行いましょう。
$r2rt_copy = $r1->importNode($r2rt, true);
# 最後に付け加えるならappendChildを用いたほうがいいと思います。
$r1rt->appendChild($r2rt_copy);
$r1->encoding = "utf-8";
print $r1->saveXML();
# PHPの経験は少ないので記述ミスがあると思います。
# そこは直してください(*^^*)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- その他(自然科学) 信頼度がR1、R2の機器を並列に接続した場合、システム全体の信頼度はどれか。答え1-(R1)(1- 2 2023/01/15 21:45
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- 物理学 この問題における抵抗r1とxってどのように考えれば良いのでしょうか?トルクはT=P2/ωsなのでP2 1 2022/06/19 18:46
- 工学 この回路でt=0でスイッチを開く時、t<0(定常状態)の時、電流はR2には流れないのですか? 答えを 3 2022/07/02 15:44
- 工学 図のサイリスタ制御調整回路において、 UJT 電源回路にコンデンサをいれて 、R1-UJT-R2間に 1 2022/06/23 14:03
- 工学 図のサイリスタ制御調整回路において、 UJT 電源回路にコンデンサをいれて 、R1-UJT-R2間に 1 2022/06/25 08:17
- 工学 ウィーンブリッジ発進回路 2 2022/07/16 19:26
- 中学校 中2の理科『電流と回路』について質問です。並列回路全体の抵抗は 1/R=1/R1+1/R2 で求めら 5 2023/02/14 20:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
東芝のDynabookなのですがアン...
-
isnan・isnf関数が「識別子が見...
-
MSXML3でerror: 'C2065 IID_IXM...
-
CPUの考え方を教えてください ...
-
SNMP リンクダウンとノードダ...
-
昔Winnyってありましたけど、あ...
-
タグの有無の判定
-
Excel-VBAでXMLの複数ノードの...
-
UTF-8でエンコーディングとはど...
-
XML、XSLTの適応エラー(IEから...
-
C#で使用中のファイルに別のフ...
-
XPathで途中に名前空間が設定さ...
-
同じタグ名の項目取得
-
DOSコマンドラインからxmlファ...
-
VBAでXMLを出力するプログラム...
-
ツリービューの使い方が・・・
-
バッチファイルでテキストファ...
-
各ノードの行数取得
-
VB.NETで最後フォのフォ...
-
C#でtreeviewの指定ノードを選...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
東芝のDynabookなのですがアン...
-
特殊記号が勝手にエスケープさ...
-
Visual Basic .NET の識別子は...
-
isnan・isnf関数が「識別子が見...
-
使用できる文字の規約
-
二つの XML 文書を結合する方法...
-
MSXML で Windows-31J のキャラ...
-
MSXML3でerror: 'C2065 IID_IXM...
-
CPUの考え方を教えてください ...
-
XMLで要素が記述された順番に意...
-
昔Winnyってありましたけど、あ...
-
バッチファイルでテキストファ...
-
XML、XSLTの適応エラー(IEから...
-
UTF-8でエンコーディングとはど...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
XMLファイル内のデータ(値)を変...
-
xmlファイルが上手にHTMLに変換...
-
同じタグ名の項目取得
-
ExcelVBAで書き出した文字が化ける
おすすめ情報