Sloučení dat ze dvou dokumentů XML System.Xml pomocí jazyce Visual C#.

Překlady článku Překlady článku
ID článku: 311530 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek ukazuje, jak sloučit dva dokumenty XML pomocí objektu DataSet . DataSet objektu je centrální podpůrné odpojen, distribuovaných dat scénáře s ADO.NET. Objekt DataSet je rezidentní reprezentace dat, který poskytuje konzistentní a relační model programování bez ohledu na zdroj dat. Objekt DataSet představuje úplnou sadu dat, včetně souvisejících tabulek, omezení a relace mezi tabulkami.

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a aktualizace service Pack, které potřebujete:
  • Microsoft Windows XP, Windows 2000 nebo Windows NT 4.0 Service Pack 6a (SP6a)
  • Microsoft Visual Studio .net
Tento článek předpokládá, že jste obeznámeni s následující témata:
  • Visual C# .net syntaxe
  • Extensible Markup Language (XML)

Vytvořit soubor Books1.xml

  1. Z nabídky Start systému Windows klepněte na příkaz Spustit, zadejte Soubor notepad.exea klepněte na tlačítko OK.
  2. Následující kód zvýraznění, klepněte pravým tlačítkem na kód a klepněte na tlačítko Kopírovat. V programu Poznámkový blok v nabídce Úpravy klepněte na příkaz Vložit.
    <?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 nabídce soubor klepněte na tlačítko Uložit.
  4. V dialogovém okně Uložit jako , v rozevíracím seznamu Uložit jako typ klepněte na položku Všechny soubory. Do pole Název souboru zadejte Books1.XMLa klepněte na tlačítko Uložit.

Vytvořit soubor Books2.xml

  1. V programu Poznámkový blok vytvořte nový textový soubor s názvem Books2.xml.
  2. Zkopírujte a vložte následující kód 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 nabídce soubor klepněte na tlačítko Uložit.
  4. V dialogovém okně Uložit jako , v rozevíracím seznamu Uložit jako typ klepněte na položku Všechny soubory. Do pole Název souboru zadejte Books2.XMLa klepněte na tlačítko Uložit.

Postup vytvoření Visual C# .net aplikace

  1. Spusťte aplikaci Visual Studio .net a potom vytvořit nový projekt aplikace Visual C# konzoly.
  2. Horní okno kód přidejte následující kód:
    using System;
    using System.Xml;
    using System.IO;
    using System.Data ;
    					
  3. Zkopírujte a vložte následující kód do statické 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. Vytvoření a spuštění aplikace. Všimněte si, že v okně konzoly se zobrazí zpráva "Dokončeno slučování dokumentů XML".
  5. Zavřete okno konzoly. Všimněte si, že zadaná cesta je vytvořen soubor Books.xml.
  6. Otevřete Books.xml. Všimněte si, že data z Books2.xml je bude na Books1.xml.

Různé scénáře dokument XML

Sloučit dokumenty XML, které mají stejnou strukturu.

V předchozím příkladu v jazyce Visual C#. ukazuje výstup XML dokumenty se stejnou strukturu.

Sloučit dokumenty XML, které mají odlišné struktury

  1. Otevřete Books2.xml a nahraďte následující 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žte Books2.xml.
  3. Projekt Visual C# .net spusťte znovu. Všimněte si, že k první dokument XML (Books1.xml) jsou připojeny uzlů z druhého dokumentu (Books2.xml).

Sloučit dokumenty XML s podobnou strukturou, kde druhý dokument obsahuje další prvky

  1. Otevřete Books2.xml a nahraďte následující 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žte Books2.xml.
  3. Projekt Visual C# .net spusťte znovu. Všimněte si, že uzlů z druhého dokumentu jsou připojena k první dokument XML.

Sloučit dokumenty XML s podobnou strukturou, kde druhý dokument obsahuje atributy

  1. Otevřete Books2.xml a nahraďte následující 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žte Books2.xml.
  3. Projekt Visual C# .net spusťte znovu. Všimněte si, že uzlů z druhého dokumentu jsou připojena k první dokument XML a struktura je stejný jako první dokument XML.

Sloučit dokumenty XML s podobnou strukturou, kde první dokument obsahuje atributy

  1. Takto upravte kódu Visual C#, aby Books1.xml 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. Projekt Visual C# .net spusťte znovu. Všimněte si, že výsledný dokument XML přidá uzly Books1.xml Books2.xml. Dále si všimněte, že všechny uzly knihy obsahují atribut "žánr".

    Proto podle struktury dokumentu XML, první druhého dokumentu XML modifikován tak, aby výsledné XML je výstižnější.

Odkazy

Další informace získáte v článku znalostní báze Microsoft Knowledge Base:
286817 Sloučení dat ve dvou dokumentů XML pomocí programovacího modelu objektu dokumentu (DOM)

Vlastnosti

ID článku: 311530 - Poslední aktualizace: 30. srpna 2012 - Revize: 6.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Klíčová slova: 
kbhowtomaster kbio kbsystemdata kbmt KB311530 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 311530

Dejte nám zpětnou vazbu

 

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