如何藉由程式設計文件物件模型 (DOM) 合併兩個 XML 文件中的資料

文章翻譯 文章翻譯
文章編號: 286817 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

結論

本文說明 Visual Basic 程式碼範例示範如何設計程式 [MSXML 文件物件模型 (DOM) 若要合併兩個相同的 XML 文件中包含的資料。

其他相關資訊

合併成一份 XML 文件包含在兩個或多個相同 XML 文件中的資料是常見的需求。程式碼和在本文中示範的方法可以進一步展開來合併三個或多個 XML 文件。 如果已經安裝較新版本的 MSXML-並存模式,必須明確執行範例程式碼使用全域唯一識別項 (GUID) 或該版本的 ProgIDs。比方說 MSXML 4.0 版只能在-並存模式安裝。如需使用 MSXML 4.0 剖析器執行範例程式碼的程式碼變更額外有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
305019資訊: MSXML 4.0 特定 GUID 以及 ProgIds
  1. 在 Microsoft [記事本] 中開啟一個空白文字檔案。
  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.DOMDocument30
    Dim doc2 As MSXML2.DOMDocument30
    Dim doc2Node As MSXML2.IXMLDOMNode
    
    Set doc1 = New MSXML2.DOMDocument30
    Set doc2 = New MSXML2.DOMDocument30
    
    doc1.Load "d:\xmlbooks1.xml"
    doc2.Load "d:\xmlbooks2.xml"
    
    For Each doc2Node In doc2.documentElement.childNodes
      doc1.documentElement.appendChild doc2Node
    Next
    
    MsgBox doc1.xml
    
    doc1.save "d:\AllXMLBooks.xml"
    					
  9. 上述程式碼載入兩個在成兩個 MSXML DOMDocument 物件的步驟 1 到 4 中建立的 XML 文件。然後程式碼會將 xmlbooks2.xml 中的資料合併到 DOMDocument 物件包含 xmlbooks1.xml 中的資料的執行個體。這被達成 doc2 DOMDocument 物件的文件項目之子節點中執行迴圈,並將每個附加到文件項目 doc1 DOMDocument。最後,合併的 XML 是顯示在訊息方塊中,保存到磁碟上的檔案。
  10. 在 Microsoft Internet Explorer 來檢視合併的 XML 文件,並請注意下列 XML 中開啟 AllXMLBooks.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>
    					

屬性

文章編號: 286817 - 上次校閱: 2004年7月1日 - 版次: 3.2
這篇文章中的資訊適用於:
  • 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 Enterprise Edition for Windows 6.0
  • 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
關鍵字:?
kbmt kbhowto KB286817 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:286817
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com