Ako zlúčiť údaje z dvoch dokumentov XML Using System.Xml pomocou Visual C# .net

Preklady článku Preklady článku
ID článku: 311530 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

V tomto článku vám ukáže, ako používať DataSet objekt na zlúčenie dvoch dokumentov XML. DataSet objekt je zásadný pre podporu odpojený, distribuované údajových scenárov s ADO.NET. Množina údajov je vyobrazenie rezidentné údaje, ktorá poskytuje jednotnú, relačnej programového modelu bez ohľadu na zdroj údajov. Množina údajov predstavuje úplný súbor údajov, vrátane súvisiacich tabuliek, obmedzenia a vzťahy medzi tabuľkami.

Požiadavky

Nasledujúci zoznam uvádza odporúčané hardvér, softvér, sieťovú infraštruktúru a balíky service pack, ktoré potrebujete:
  • Microsoft Windows XP, Windows 2000 alebo Windows NT 4.0 Service Pack 6a (SP6a)
  • Microsoft Visual Studio .net
Tento článok predpokladá, že ste oboznámení s v nasledovných témach:
  • Visual C# .net syntax
  • Extensible Markup Language (XML)

Vytvoriť súbor Books1.xml

  1. V ponuke Štart kliknite na položku spustiť, typu Notepad.exe, a potom kliknite na tlačidlo OK.
  2. Zvýraznite nasledujúci kód, kliknite pravým tlačidlom myši kód a kliknite na tlačidlo Kopírovať. V programe Poznámkový blok, v ponuke úpravy kliknite na príkaz Prilepiť.
    <?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>Jeanette, Dasha</author>
          <title>Quack the Duck</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
    </catalog>
    					
  3. V ponuke súbor kliknite na položku Uložiť.
  4. V Uložiť ako dialógovom okne v rozbaľovacom poli Typ súboru , kliknite na položku Všetky súbory. Do poľa Názov súboru zadajte Books1.XML, a potom kliknite na tlačidlo Uložiť.

Vytvoriť súbor Books2.xml

  1. V programe Poznámkový blok, vytvoriť nový textový súbor s názvom Books2.xml.
  2. Skopírujte a prilepte nasledujúci XML do Books2.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>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
    </catalog>
    					
  3. V ponuke súbor kliknite na položku Uložiť.
  4. V Uložiť ako dialógovom okne v rozbaľovacom poli Typ súboru , kliknite na položku Všetky súbory. Do poľa Názov súboru zadajte Books2.XML, a potom kliknite na tlačidlo Uložiť.

Postup vytvorenia Visual C# .net uplatňovanie

  1. Spustiť Visual Studio .net, a potom vytvorte nový projekt Visual C# konzolovú aplikáciu.
  2. Pridať nasledujúci kód do hornej časti okna s kódom:
    using System;
    using System.Xml;
    using System.IO;
    using System.Data ;
    					
  3. Skopírujte a vložte nasledujúci kód v static void Main (string [] args):
    try
    	{
    		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books1.xml");
    		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books2.xml");
    
    		DataSet ds = new DataSet();
    		ds.ReadXml(xmlreader1);
    		DataSet ds2 = new DataSet();
    		ds2.ReadXml(xmlreader2);
    		ds.Merge(ds2);
    		ds.WriteXml("C:\\Books.xml");
    		Console.WriteLine("Completed merging XML documents");
    	}
    	catch (System.Exception ex)
    	{
    		Console.Write(ex.Message);
    	}
    Console.Read();	
    					
  4. Vytvoriť a spustiť aplikáciu. Všimnite si, že v okne konzoly sa zobrazí hlásenie "Dokončiť zlúčenie dokumentov XML".
  5. Zatvorte okno konzoly. Všimnite si, že súbor Books.xml je vytvorený na ceste, ktoré zadáte.
  6. Otvorte Books.xml. Všimnite si, že údaje z Books2.xml je pridaný na koniec na Books1.xml.

Rôzne scenáre XML dokumentu

Zlúčiť dokumenty XML, ktoré majú rovnakú štruktúru

Predchádzajúci Visual C# .net vzorky preukáže výstup XML dokumentov s rovnakú štruktúru.

Zlúčiť dokumenty XML, ktoré majú rôzne štruktúry

  1. Otvorte Books2.xml a nahradiť tieto XML XML:
    <?xml version="1.0" ?>
    <SampleData>
    <Customer>
              <CustomerName>Bob Frapples</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    <Customer>
              <CustomerName>Bob Frapples</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    </SampleData>
    					
  2. Uložiť Books2.xml.
  3. Znova spustiť Visual C# .net projektu. Všimnite si, že uzly z druhého dokumentu (Books2.xml) sú pripojené do prvého dokumentu XML (Books1.xml).

Zlúčiť dokumenty XML s podobnou štruktúrou, kde druhý dokument obsahuje ďalšie prvky

  1. Otvorte Books2.xml a nahradiť tieto 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>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <genre>Romance</genre>
          <price>4.95</price>
          <publish_date>2000-11-02</publish_date>
          <description>Two young pianists strike a chord when they fight a 
          pitched battle to stop the gnomes at a key base.</description>
       </book>
    </catalog>
    					
  2. Uložiť Books2.xml.
  3. Znova spustiť Visual C# .net projektu. Všimnite si, že uzly z druhý dokument sa pripojí k prvej XML dokumentu.

Zlúčiť dokumenty XML s podobnou štruktúrou, ak druhý doklad obsahuje atribúty

  1. Otvorte Books2.xml a nahradiť tieto 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>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <price>4.95</price>
       </book>
       <book id="bk108" genre="Horror">
          <author>de Dogg, Jazz</author>
          <title>Night of the Flea</title>
          <price>4.95</price>
       </book>
       </catalog>
    					
  2. Uložiť Books2.xml.
  3. Znova spustiť Visual C# .net projektu. Všimnite si, že uzly z druhý dokument sa pripájajú na prvý dokument XML, a štruktúra je rovnaký ako prvý dokument XML.

Zlúčiť dokumenty XML s podobnou štruktúrou, ak prvý dokument obsahuje atribúty

  1. Takto upraviť kód Visual C#, tak, že Books1.xml je pripojená k Books2.xml:
    try
    	{
    		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books2.xml");
    		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books1.xml");
    
    		DataSet ds = new DataSet();
    		ds.ReadXml(xmlreader1);
    		DataSet ds2 = new DataSet();
    		ds2.ReadXml(xmlreader2);
    		ds.Merge(ds2);
    		ds.WriteXml("C:\\Books.xml");
    		Console.WriteLine("Completed merging XML documents");
    	}
    	catch (System.Exception ex)
    	{
    		Console.Write(ex.Message);
    	}
    Console.Read();	
    					
  2. Znova spustiť Visual C# .net projektu. Všimnite si, že výsledný dokument XML pripojí uzly z Books1.xml na Books2.xml. Okrem toho, oznámenie, že všetky uzly knihy obsahujú atribút "žáner".

    Preto, v závislosti od štruktúru prvú XML dokumentu, druhý dokument XML sa mení tak, aby výsledná XML je väčší zmysel.

ODKAZY

Ďalšie informácie, kliknite na nasledujúce číslo článku publikovaného v databáze Microsoft Knowledge Base:
286817 Ako zlúčiť údaje v dvoch dokumentov XML pomocou programovacieho dokumentu objektový Model (DOM)

Vlastnosti

ID článku: 311530 - Posledná kontrola: 30. augusta 2012 - Revízia: 3.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Kľúčové slová: 
kbhowtomaster kbio kbsystemdata kbmt KB311530 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 311530

Odošlite odozvu

 

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