現在オフラインです。再接続するためにインターネットの接続を待っています

Document Object Model (DOM) のプログラミングによって 2 つの XML ドキュメントのデータをマージする方法

この記事は、以前は次の ID で公開されていました: JP286817
概要
この資料では、MSXML Document Object Model (DOM) のプログラミングによって 2 つの同じ XML ドキュメントに含まれるデータをマージする方法を示す Visual Basic のサンプル コードについて説明します。
詳細
XML ドキュメントの処理では、しばしば複数の同じ XML ドキュメントに含まれるデータを 1 つの XML ドキュメントにマージする必要があります。この資料に示すコードと方法を拡張して、3 つ以上の XML ドキュメントに含まれるデータをマージすることもできます。新しいバージョンの MSXML がサイド バイ サイド モードでインストールされている場合、サンプル コードを実行するには、そのバージョンのグローバル一意識別子 (GUID) または ProgID を明示的に使用する必要があります。たとえば、MSXML 4.0 はサイド バイ サイド モードでのみインストール可能です。MSXML 4.0 パーサーを使用してサンプル コードを実行するために必要なコード変更の詳細について参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
305019 [INFO] MSXML 4.0 特有の GUID および ProgID について
  1. メモ帳で空のテキスト ファイルを開きます。
  2. 以下の XML コードをコピーしてメモ帳に貼り付け、xmlbooks1.xml という名前で保存します。
    <?xml version="1.0"?><Books>   <Book>      <Title>XML Step By Step</Title>      <Publisher>MS Press</Publisher>   </Book>   <Book>      <Title>Developing XML Solutions</Title>      <Publisher>MS Press</Publisher>   </Book></Books>					
  3. メモ帳で新しいテキスト ファイルを開きます。
  4. 以下の XML コードをコピーしてメモ帳に貼り付け、xmlbooks2.xml という名前で保存します。
    <?xml version="1.0"?><Books>   <Book>      <Title>Beginning XML</Title>      <Publisher>Wrox</Publisher>   </Book>   <Book>      <Title>Professional XML</Title>      <Publisher>Wrox</Publisher>   </Book></Books>					
  5. Visual Basic 6.0 で新しい標準 EXE プロジェクトを作成します。デフォルトで Form1 が作成されます。
  6. [プロジェクト] メニューの [参照設定] をクリックし、[Microsoft XML, v3.0] またはそれ以降への参照を設定します。
  7. Form1 にコマンド ボタンを配置します。デフォルトで Command1 が作成されます。
  8. 以下のコードをコピーしてコマンド ボタンの Click イベント プロシージャに貼り付けます。
    ' In the ProgIDs below, change 30 to reflect the installed version of the Microsoft XML Parser.' For example, use Dim doc1 As MSXML2.DOMDocument40 for MSXML 4.Dim doc1 As MSXML2.DOMDocument30Dim doc2 As MSXML2.DOMDocument30Dim doc2Node As MSXML2.IXMLDOMNodeSet doc1 = New MSXML2.DOMDocument30Set doc2 = New MSXML2.DOMDocument30doc1.Load "d:\xmlbooks1.xml"doc2.Load "d:\xmlbooks2.xml"For Each doc2Node In doc2.documentElement.childNodes  doc1.documentElement.appendChild doc2NodeNextMsgBox doc1.xmldoc1.save "d:\AllXMLBooks.xml"					
  9. 上のコードは、手順 1. ~ 4. で作成された 2 つの XML ドキュメントを 2 つの MSXML DOMDocument オブジェクトに読み込みます。次に、xmlbooks2.xml のデータを、xmlbooks1.xml のデータを含む DOMDocument オブジェクトのインスタンスにマージします。この処理は、DOMDocument オブジェクト doc2 のドキュメント要素の子ノードをループ処理し、DOMDocument オブジェクト doc1 のドキュメント要素にそれぞれ追加することによって実行されます。最終的には、マージされた XML がメッセージ ボックスに表示され、ディスク内のファイルに保持されます。
  10. Microsoft Internet Explorer で AllXMLBooks.xml を開き、マージされた XML ドキュメントを表示します。次の XML が表示されます。
    <?xml version="1.0"?><Books>	<Book>		<Title>XML Step By Step</Title>		<Publisher>MS Press</Publisher>	</Book>	<Book>		<Title>Developing XML Solutions</Title>		<Publisher>MS Press</Publisher>	</Book>	<Book>		<Title>Beginning XML</Title>		<Publisher>Wrox</Publisher>	</Book>	<Book>		<Title>Professional XML</Title>		<Publisher>Wrox</Publisher>	</Book></Books>					
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 286817 (最終更新日 2004-07-01) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。
IE
プロパティ

文書番号:286817 - 最終更新日: 09/26/2005 09:03:00 - リビジョン: 3.1

  • Microsoft XML Parser 2.0
  • Microsoft XML Parser 2.5
  • Microsoft XML Parser 2.6
  • Microsoft XML Parser 3.0
  • Microsoft XML Core Services 4.0
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 3
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 4
  • Microsoft Visual Basic 6.0 Professional Edition
  • kbhowto KB286817
フィードバック