Τρόπος συγχώνευσης δεδομένων από δύο έγγραφα XML χρησιμοποιώντας System.Xml Visual C# .net

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 311530 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο χρήσης ενός αντικειμένου DataSet για να συγχωνεύσετε δύο έγγραφα XML. Το DataSet αντικείμενο central στα δικαιολογητικά αποσυνδεθεί, διανέμεται σενάρια δεδομένων με ADO.NET. Το DataSet είναι μια αναπαράσταση μνήμη δεδομένων που παρέχει συνεπή, σχεσιακή μοντέλο προγραμματισμού ανεξάρτητα από το αρχείο προέλευσης δεδομένων. Το DataSet αντιπροσωπεύει ένα πλήρες σύνολο δεδομένων, συμπεριλαμβανομένων των σχετιζόμενων πινάκων, περιορισμούς και τις σχέσεις μεταξύ των πινάκων.

Απαιτήσεις

Η ακόλουθη λίστα περιγράφει το υλικού που συνιστώνται, λογισμικό, υποδομή δικτύου και service pack που χρειάζεστε:
  • Microsoft Windows XP, Windows 2000 ή Windows NT 4.0 Service Pack 6a (SP6a)
  • Microsoft Visual Studio .net
Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τα ακόλουθα θέματα:
  • Η σύνταξη της Visual C# .net
  • Επεκτάσιμη γλώσσα σήμανσης (XML)

Δημιουργία του αρχείου Books1.xml

  1. Από το μενού Έναρξη των Windows, κάντε κλικ στην επιλογή Εκτέλεση, πληκτρολογήστε Notepad.exe, και στη συνέχεια κάντε κλικ στο κουμπί OK.
  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>Jeanette, Dasha</author>
          <title>Quack the Duck</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
    </catalog>
    					
  3. Στο μενού αρχείο , κάντε κλικ στο κουμπί " Αποθήκευση".
  4. Στο παράθυρο διαλόγου Αποθήκευση ως , στο πλαίσιο αναπτυσσόμενης λίστας Αποθήκευση ως τύπου , κάντε κλικ στην επιλογή Όλα τα αρχεία. Στο πλαίσιο κειμένου Όνομα αρχείου , πληκτρολογήστε Books1.XML, και στη συνέχεια κάντε κλικ στο κουμπί Αποθήκευση.

Δημιουργία του αρχείου Books2.xml

  1. Στο Σημειωματάριο (Notepad), δημιουργήστε ένα νέο αρχείο κειμένου που ονομάζεται Books2.xml.
  2. Αντιγράψτε και επικολλήστε την παρακάτω XML στο 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. Στο μενού αρχείο , κάντε κλικ στο κουμπί " Αποθήκευση".
  4. Στο παράθυρο διαλόγου Αποθήκευση ως , στο πλαίσιο αναπτυσσόμενης λίστας Αποθήκευση ως τύπου , κάντε κλικ στην επιλογή Όλα τα αρχεία. Στο πλαίσιο κειμένου Όνομα αρχείου , πληκτρολογήστε Books2.XML, και στη συνέχεια κάντε κλικ στο κουμπί Αποθήκευση.

Τα βήματα για να δημιουργήσετε οπτικά εφαρμογή .net C#

  1. Έναρξη του Visual Studio .net και, στη συνέχεια, δημιουργήστε ένα νέο έργο Visual C# κονσόλα εφαρμογής.
  2. Προσθέστε τον ακόλουθο κώδικα στο επάνω μέρος του παραθύρου του κώδικα:
    using System;
    using System.Xml;
    using System.IO;
    using System.Data ;
    					
  3. Αντιγράψτε και επικολλήστε τον παρακάτω κώδικα στο στατικό void κύρια (συμβολοσειρά 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. Δημιουργήστε και εκτελέστε την εφαρμογή. Παρατηρήστε ότι εμφανίζεται το μήνυμα "Ολοκληρωθεί συγχώνευση εγγράφων XML" στο παράθυρο της κονσόλας.
  5. Κλείστε το παράθυρο κονσόλας. Παρατηρήστε ότι δημιουργείται το αρχείο Books.xml στη διαδρομή που καθορίζετε.
  6. Ανοίξτε το Books.xml. Παρατηρήστε ότι τα δεδομένα από Books2.xml προσαρτάται στο τέλος για να Books1.xml.

Διαφορετικά σενάρια έγγραφο XML

Συγχώνευση εγγράφων XML που έχουν την ίδια δομή

Το παραπάνω δείγμα Visual C# .net παρουσιάζει την έξοδο των εγγράφων XML με την ίδια δομή.

Συγχώνευση εγγράφων XML που έχουν διαφορετικές δομές

  1. Ανοίξτε το Books2.xml και αντικαταστήστε το 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. Αποθήκευση Books2.xml.
  3. Εκτελέστε ξανά το έργο της Visual C# .net. Παρατηρήστε ότι προσαρτώνται στους κόμβους από το δεύτερο έγγραφο (Books2.xml) το πρώτο έγγραφο XML (Books1.xml).

Συγχώνευση εγγράφων 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>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. Αποθήκευση Books2.xml.
  3. Εκτελέστε ξανά το έργο της Visual C# .net. Παρατηρήστε ότι οι κόμβοι από το δεύτερο έγγραφο προσαρτώνται στο πρώτο έγγραφο XML.

Συγχώνευση εγγράφων 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>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. Αποθήκευση Books2.xml.
  3. Εκτελέστε ξανά το έργο της Visual C# .net. Παρατηρήστε ότι οι κόμβοι από το δεύτερο έγγραφο προσαρτώνται στο πρώτο έγγραφο XML και η δομή του είναι ίδιο με το πρώτο έγγραφο XML.

Συγχώνευση εγγράφων XML με παρόμοια δομή, όπου το πρώτο έγγραφο περιέχει χαρακτηριστικά

  1. Έτσι, ώστε να προσαρτάται Books1.xml Books2.xml, τροποποιήστε τον κώδικα Visual C# ως εξής:
    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. Εκτελέστε ξανά το έργο της Visual C# .net. Παρατηρήστε ότι το έγγραφο XML που προκύπτον προσαρτά τους κόμβους από Books1.xml σε Books2.xml. Επιπλέον, παρατηρήστε ότι όλοι οι κόμβοι βιβλίο περιέχει το χαρακτηριστικό "Είδος".

    Επομένως, ανάλογα με τη δομή του εγγράφου XML, πρώτο, δεύτερο έγγραφο XML τροποποιείται ώστε να είναι πιο ουσιαστικό το προκύπτον XML.

Αναφορές

Για πρόσθετες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
286817 Πώς να συγχωνεύσετε δεδομένα σε δύο έγγραφα XML με προγραμματισμό το μοντέλο αντικειμένου εγγράφου (DOM)

Ιδιότητες

Αναγν. άρθρου: 311530 - Τελευταία αναθεώρηση: Πέμπτη, 30 Αυγούστου 2012 - Αναθεώρηση: 2.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Λέξεις-κλειδιά: 
kbhowtomaster kbio kbsystemdata kbmt KB311530 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη: 311530

Αποστολή σχολίων

 

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