Dieser schrittweise Beitrag veranschaulicht die ein DataSet -Objekt verwenden, um zwei XML-Dokumenten zusammenzuführen. Das DataSet -Objekt ist für die Unterstützung getrennt, verteilten Datenszenarios mit ADO.NET. Das DataSet ist eine speicherresidente Darstellung von Daten, die ein konsistentes, relationales Programmiermodell unabhängig von der Datenquelle bereitstellt. Das DataSet stellt einen vollständigen Satz von Daten, einschließlich verknüpfter Tabellen, Einschränkungen und Beziehungen zwischen Tabellen dar.
Anforderungen
Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
Microsoft Windows XP, Windows 2000 oder Windows NT 4.0 Servicepack 6a (SP6a)
Microsoft Visual Studio .NET
In diesem Artikel wird davon ausgegangen, dass Sie mit den folgenden Themen vertraut sind:
Visual C# .NET-syntax
Extensible Markup Language (XML)
Erstellen Sie die Datei "Books1.xml"
Klicken Sie im Windows Start auf Ausführen, Typ Notepad.exe, und klicken Sie dann auf OK.
Markieren Sie den folgenden Code, mit der rechten Maustaste im Codes, und klicken Sie dann auf Kopieren. Klicken Sie im Editor klicken Sie im Menü Bearbeiten auf Einfügen.
Klicken Sie im Dialogfeld Speichern unter klicken Sie im Dropdown Listenfeld Speichern als Typ auf Alle Dateien. Geben Sie im Textfeld Dateiname"Books1.xml", und klicken Sie dann auf Speichern.
Erstellen Sie die Datei "Books2.xml"
Erstellen Sie im Editor eine neue Textdatei namens "Books2.xml".
Kopieren Sie und fügen Sie die folgenden XML-Code in "Books2.xml":
Klicken Sie im Dialogfeld Speichern unter klicken Sie im Dropdown Listenfeld Speichern als Typ auf Alle Dateien. Geben Sie im Textfeld Dateiname"Books2.xml", und klicken Sie dann auf Speichern.
Schritte zur Erstellung der Visual C# .NET-Anwendung
Starten Sie Visual Studio .NET, und erstellen Sie ein neues Konsolenanwendung in Visual C#-Projekt.
Fügen Sie den folgenden Code am Anfang des Codefensters:
using System;
using System.Xml;
using System.IO;
using System.Data ;
Kopieren Sie und fügen Sie den folgenden Code in 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();
Erstellen Sie und führen Sie die Anwendung. Beachten Sie, dass die Meldung "Zusammenführen von XML-Dokumenten abgeschlossen" im Konsolenfenster angezeigt wird.
Das Konsolenfenster zu schließen. Beachten Sie, dass die Datei Books.xml im Pfad erstellt wird, die Sie angeben.
Öffnen Sie "Books.xml". Beachten Sie, dass die Daten aus "Books2.xml" am Ende von "Books1.xml" angehängt ist.
Verschiedene XML-Dokument-Szenarien
Zusammenführen von XML-Dokumenten, die dieselbe Struktur aufweisen
Im vorhergehende Beispiel Visual C# .NET wird die Ausgabe von XML-Dokumenten mit derselben Struktur veranschaulicht.
Zusammenführen von XML-Dokumenten, die unterschiedliche Strukturen haben
Öffnen Sie "Books2.xml", und Ersetzen Sie den XML-Code mit den folgenden XML-Code:
Führen Sie das Visual C# .NET Projekt erneut. Beachten Sie, dass die Knoten aus dem zweiten Dokument ("Books2.xml") an das erste XML-Dokument ("Books1.xml") angehängt werden.
Zusammenführen von XML-Dokumente mit ähnlicher Struktur, in dem zweites Dokument zusätzliche Elemente enthält
Öffnen Sie "Books2.xml", und Ersetzen Sie den XML-Code mit den folgenden XML-Code:
<?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>
Speichern Sie "Books2.xml".
Führen Sie das Visual C# .NET Projekt erneut. Beachten Sie, dass die Knoten aus dem zweiten Dokument an das erste XML-Dokument angehängt wurden.
Zusammenführen von XML-Dokumente mit ähnlicher Struktur, in dem zweites Dokument Attribute enthält
Öffnen Sie "Books2.xml", und Ersetzen Sie den XML-Code mit den folgenden XML-Code:
Führen Sie das Visual C# .NET Projekt erneut. Beachten Sie, dass die Knoten aus dem zweiten Dokument an das erste XML-Dokument angehängt sind, und die Struktur wie das erste XML-Dokument ist.
Zusammenführen von XML-Dokumente mit ähnlicher Struktur, in dem erstes Dokument Attribute enthält
Ändern Sie den Visual C#-Code folgendermaßen, sodass "Books1.xml" an "Books2.xml" angefügt wird:
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();
Führen Sie das Visual C# .NET Projekt erneut. Beachten Sie, dass das resultierende XML-Dokument die Knoten aus "Books1.xml" an "Books2.xml" anfügt. Beachten Sie außerdem, dass alle Knoten Buch das Attribut "Genre" enthalten.
Aus diesem Grund ist abhängig von der Struktur des ersten XML-Dokuments, das zweite XML-Dokument geändert, sodass die resultierende XML mehr Bedeutung besitzt.
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 311530
(http://support.microsoft.com/kb/311530/en-us/
)
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Wie hoch war der Aufwand für Sie persönlich, um diesen Artikel zu verwenden?
Sehr gering
Gering
Mittel
Hoch
Sehr hoch
Sagen Sie uns bitte, wie wir diese Informationen noch verbessern können
Danke! Dieses Feedback hilft uns dabei, die Supportartikel weiter zu verbessern. Weitere Informationen finden Sie auf der Hilfe und Support-Startseite.