Cum să fuzioneze datele din două documente XML folosind System.Xml utilizând Visual C# .net

Traduceri articole Traduceri articole
ID articol: 311530 - View products that this article applies to.
Măriți totul | Reduceți totul

În această pagină

Rezumat

Acest articol etapizat vă arată cum să utilizați un obiect set acoperire de date să fuzioneze două documente XML. Setul acoperire de date obiect este esențială pentru sprijinirea deconectat, distribuite date scenarii cu ADO.NET. Setul acoperire de date este o reprezentare de memorie-rezident acoperire de date care oferă un model programare coerente, relaționale, indiferent de sursa acoperire de date. Setul acoperire de date reprezintă un set complet acoperire de date, inclusiv tabele corelate, constrângerile și relațiile dintre tabele.

Cerin?ele

Listă tabel următoare evidențiază hardware recomandate, software, infrastructura de rețea și pachete de service care aveți nevoie:
  • Microsoft Windows XP, Windows 2000 sau Windows NT 4.0 pachet Service Pack 6a (SP6a)
  • Microsoft Visual Studio .net
Acest articol presupune că sunteți familiarizați cu următoarele subiecte:
  • Visual C# .net sintaxă
  • limbaj XML (Extensible Markup Language) (XML)

Creați un fișier Books1.xml

  1. Din meniul Start din Windows, faceți clic pe Run, tip Notepad.exe, apoi faceți clic pe OK.
  2. Evidenția codul următor, faceți clic dreapta pe codul și apoi faceți clic pe Copiere. În Notepad, din meniul Editare , faceți clic pe Lipire.
    <?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. Din meniul Fișier , faceți clic pe Salvare.
  4. Salvare ca casetă de dialog, în caseta listă verticală Salvare ca tip , faceți clic pe Toate fișierele. În caseta de text Nume fișier , tastați Books1.XML, apoi faceți clic pe Salvare.

Creați un fișier Books2.xml

  1. În Notepad, creați un nou fișier text numit Books2.xml.
  2. Copiați și lipiți următorul XML în 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. Din meniul Fișier , faceți clic pe Salvare.
  4. Salvare ca casetă de dialog, în caseta listă verticală Salvare ca tip , faceți clic pe Toate fișierele. În caseta de text Nume fișier , tastați Books2.XML, apoi faceți clic pe Salvare.

Pași pentru a crea vizual C# .net aplica?ia

  1. Începe Visual Studio .net, și apoi creați un nou proiect Visual C# Consola de aplicații.
  2. Adăugați următorul cod în partea de sus a ferestrei de cod:
    using System;
    using System.Xml;
    using System.IO;
    using System.Data ;
    					
  3. Copiați și lipiți următorul cod în principal nule statică (fibros [] 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. Construi și executați aplicația. Observați că mesajul "Realizate îmbinarea documentelor XML" apare în fereastra consolei.
  5. Închideți fereastra consolei. Observați că fișierul Books.xml este creat în calea pe care le specificați.
  6. Deschideți Books.xml. Observați că datele din Books2.xml este adăugat la sfârșitul la Books1.xml.

Diferite scenarii de Document XML

Îmbinare documente XML care au aceea?i structură

Proba Visual C# .net precedent demonstrează datele de ieșire ale documentelor XML cu aceea?i structură.

Îmbinare documente XML care au diferite structuri

  1. Deschideți Books2.xml și înlocuiți XML cu XML următoarele:
    <?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. Salvați Books2.xml.
  3. Executați din nou proiectului Visual C# .net. Observați că nodurile din al doilea document (Books2.xml) sunt adăugate la primul document XML (Books1.xml).

Îmbinare documente XML cu structură similară în cazul în care al doilea Document conține elemente suplimentare

  1. Deschideți Books2.xml și înlocuiți XML cu XML următoarele:
    <?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. Salvați Books2.xml.
  3. Executați din nou proiectului Visual C# .net. Observați că nodurile din al doilea document sunt adăugate la primul document XML.

Îmbinare documente XML cu structură similară în cazul în care al doilea Document conține atribute

  1. Deschideți Books2.xml și înlocuiți XML cu XML următoarele:
    <?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. Salvați Books2.xml.
  3. Executați din nou proiectului Visual C# .net. Observați că nodurile din al doilea document sunt adăugate la primul document XML, iar structura este același ca primul document XML.

Îmbinare documente XML cu structură similară în cazul în care primul Document conține atribute

  1. Modificați codul Visual C#, după cum urmează astfel încât Books1.xml este anexată la 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. Executați din nou proiectului Visual C# .net. Observați că documentul XML rezultantă adaugă nodurile din Books1.xml la Books2.xml. În plus, observați că toate nodurile Cartea conține atributul "gen".

    Prin urmare, în funcție de structura documentului XML primul, al doilea document XML se modifică astfel încât rezultantă XML este mai semnificativ.

Referințe

Pentru informații suplimentare, faceți clic pe următorul număr de articol pentru a vedea articolul în bază de cunoștințe Microsoft:
286817 Cum să fuzioneze datele din două documente XML de programare modelul de obiecte Document (DOM)

Proprietă?i

ID articol: 311530 - Ultima examinare: 30 august 2012 - Revizie: 1.0
Se aplică la:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Cuvinte cheie: 
kbhowtomaster kbio kbsystemdata kbmt KB311530 KbMtro
Traducere automată
IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât și articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuși, un articol tradus automat nu este întotdeauna perfect. Acesta poate conține greșeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greșeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conținutului sau de utilizarea traducerii necorespunzătoare de către clienții nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 311530

Trimite?i feedback

 

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