您目前已離線,請等候您的網際網路重新連線

如何: Beta 版: 從兩個 XML 文件的資料合併使用 Visual Basic.NET System.xml

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:308066
本文已封存。本文係以「現狀」提供且不會再更新。
本文將告訴您的 Microsoft 產品的 Beta 版本。本文資訊提供來做-是,若有變更,恕不另行通知。

使用來自 Microsoft 這個 Beta 版產品沒有正式的產品支援。有關如何取得 Beta 版本支援的詳細資訊,請參閱隨附於 Beta 版產品檔案的文件或檢查下載此版本的 Web 位置。

本文章的有 Microsoft Visual C#.NET] 版本請參閱 311530

在此工作

結論
本文將告訴您,如何使用 DataSet 物件來合併兩個 XML 文件。資料集 物件會中央支援中斷連線,分佈使用 ADO.NET 資料案例。資料集 是提供一個一致、 關聯式程式設計模型無論資料來源的資料的記憶體常駐表示。資料集 表示一組完整的包括相關的資料表、 條件約束及資料表間的關聯性的資料。

back to the top

需求

下列清單列出建議的硬體、 軟體、 網路基礎結構及您需要的服務套件:
  • Microsoft Windows XP、 Windows 2000 或 Windows NT 4.0 Service Pack 6a (SP6a)
  • Microsoft Visual Studio.NET
本文假設您已熟悉下列主題:
  • Visual Basic.NET 語法
  • 可延伸標記語言 (XML)
back to the top

建立 Books1.xml 檔案

  1. 從 Windows [開始] 功能表按一下 [執行],鍵入 Notepad.exe,然後再按一下 [[確定]
  2. 反白下列程式碼、 程式碼上按一下滑鼠右鍵,然後按一下 [複製]。在 [記事本] 中,按一下在 [編輯] 功能表上 [
    <?xml version="1.0"?><catalog>   <book id="bk101">      <author>Gambardella, Matthew</author>      <title>XML Developer's Guide</title>      <genre>Computer</genre>      <price>44.95</price>   </book>   <book id="bk102">      <author>Ralls, Kim</author>      <title>Midnight Rain</title>      <genre>Fantasy</genre>      <price>5.95</price>   </book></catalog>					
  3. 在 [檔案] 功能表上按一下 [儲存]。
  4. 在 [另 ] 對話方塊中,[檔案類型] 下拉式清單方塊中按一下 [所有檔案]。在 [檔案名稱] 文字方塊中輸入 Books1.xml,然後按一下 [儲存]。
back to the top

建立 Books2.xml 檔案

  1. 在 [記事本] 中, 建立名為 Books2.xml 的新文字檔。
  2. 複製並貼入 Books2.xml 下列 XML:
    <?xml version="1.0"?><catalog><book id="bk106">      <author>Randall, Cynthia</author>      <title>Lover Birds</title>      <genre>Romance</genre>      <price>4.95</price>   </book>   <book id="bk107">      <author>Thurman, Paula</author>      <title>Splish Splash</title>      <genre>Romance</genre>      <price>4.95</price>   </book></catalog>					
  3. 在 [檔案] 功能表上按一下 [儲存]。
  4. 在 [另 ] 對話方塊中,[檔案類型] 下拉式清單方塊中按一下 [所有檔案]。在 [檔案名稱] 文字方塊中輸入 Books2.xml,然後按一下 [儲存]。
back to the top

建立 Visual Basic.NET 應用程式的步驟

  1. 啟動 Visual 的 Studio.NET 並建立新的 Visual Basic 主控台應用程式專案。
  2. 將下列程式碼加入至程式碼] 視窗的頂端:
    Imports System.Xml					
  3. 複製並貼上下列程式碼在 Sub Main 程序:
            Dim xmlreader1 As New XmlTextReader("C:\Books1.xml")        Dim xmlreader2 As New XmlTextReader("C:\Books2.xml")        Dim ds1 As New DataSet()        Try            ds1.ReadXml(xmlreader1)            Dim ds2 As New DataSet()            ds2.ReadXml(xmlreader2)            ds1.Merge(ds2)            ds1.WriteXml("C:\Books.xml", XmlWriteMode.IgnoreSchema)            Console.WriteLine("Completed merging XML documents")        Catch ex As Exception            Console.WriteLine(ex.Message)        End Try        Console.Read()					
  4. 建置並執行應用程式。請注意 「 已完成合併 XML 文件 」 的訊息出現在 [主控台] 視窗中。
  5. 關閉主控台視窗。請注意 Books.xml 檔案會建立在指定的路徑。
  6. 開啟 Books.xml。請注意 Books2.xml 來自資料會附加至 Books1.xml 到結尾。
back to the top

不同的 XML 文件案例

合併有相同結構的 XML 文件

先前的 Visual Basic.NET 範例會示範具有相同結構的 XML 文件的輸出。

back to the top

合併具有不同結構的 XML 文件

  1. 開啟 Books2.xml,並以下列的 XML 取代 XML:
    <?xml version="1.0" ?><SampleData><Customer>          <CustomerName>Bill Gates</CustomerName>          <PricePerUnit>5.95</PricePerUnit>          <ClosingDate>2001-12-16</ClosingDate></Customer><Customer>          <CustomerName>Bill Gates</CustomerName>          <PricePerUnit>5.95</PricePerUnit>          <ClosingDate>2001-12-16</ClosingDate></Customer></SampleData>					
  2. 儲存 Books2.xml。
  3. 再次執行 Visual Basic.NET 專案。請注意第二份文件 (Books2.xml) 的節點會附加至第一份 XML 文件 (Books1.xml)。
back to the top

合併與其中第二個文件中包含額外的項目類似結構的 XML 文件

  1. 開啟 Books2.xml,並以下列的 XML 取代 XML:
    <?xml version="1.0"?><catalog><book id="bk106">      <author>Randall, Cynthia</author>      <title>Lover Birds</title>      <genre>Romance</genre>      <price>4.95</price>      <publish_date>2000-09-02</publish_date>      <description>When Carla meets Paul at an ornithology       conference, tempers fly as feathers get ruffled.</description>   </book>   <book id="bk107">      <author>Thurman, Paula</author>      <title>Splish Splash</title>      <genre>Romance</genre>      <price>4.95</price>      <publish_date>2000-11-02</publish_date>      <description>A deep-sea diver finds true love twenty       thousand leagues beneath the sea.</description>   </book></catalog>					
  2. 儲存 Books2.xml。
  3. 再次執行 Visual Basic.NET 專案。請注意第二個文件的節點會附加至第一份 XML 文件。
back to the top

合併與其中第二份文件包含屬性的類似結構的 XML 文件

  1. 開啟 Books2.xml,並以下列的 XML 取代 XML:
    <?xml version="1.0"?><catalog><book id="bk106" genre="Romance">      <author>Randall, Cynthia</author>      <title>Lover Birds</title>      <price>4.95</price>   </book>   <book id="bk107" genre="Romance">      <author>Thurman, Paula</author>      <title>Splish Splash</title>      <price>4.95</price>   </book>   <book id="bk108" genre="Horror">      <author>Knorr, Stefan</author>      <title>Creepy Crawlies</title>      <price>4.95</price>   </book>   </catalog>					
  2. 儲存 Books2.xml。
  3. 再次執行 Visual Basic.NET 專案。注意: 從第二個文件節點附加到第一份 XML 文件,而且結構與第一份 XML 文件相同。
back to the top

合併與其中第一份文件包含屬性的類似結構的 XML 文件

  1. 以下列方式修改 Visual Basic 程式碼,使 Books1.xml 會附加到 Books2.xml:
            Dim xmlreader1 As New XmlTextReader("C:\Books2.xml")        Dim xmlreader2 As New XmlTextReader("C:\Books1.xml")        Dim ds1 As New DataSet()        Try            ds1.ReadXml(xmlreader1)            Dim ds2 As New DataSet()            ds2.ReadXml(xmlreader2)            ds1.Merge(ds2)            ds1.WriteXml("C:\Books.xml", XmlWriteMode.IgnoreSchema)            Console.WriteLine("Completed merging XML documents")        Catch ex As Exception            Console.WriteLine(ex.Message)        End Try        Console.Read()					
  2. 再次執行 Visual Basic.NET 專案。請注意結果 XML 文件附加到 Books2.xml Books1.xml 從節點。在另外請注意所有活頁簿節點包含 「 類型 」 屬性。

    因此,取決於第一份 XML 文件的結構,第二份 XML 文件被修改,結果 XML 是更有意義的名稱。
back to the top
参考
如需詳細資訊按一下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
286817HOWTO: 由程式設計文件物件模型 (DOM) 合併兩個 XML 文件中的資料
back to the top

警告:本文為自動翻譯

內容

文章識別碼:308066 - 最後檢閱時間:12/06/2015 05:43:36 - 修訂: 2.3

Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbmt kbhowtomaster KB308066 KbMtzh
意見反應