Das Ändern und Speichern von XML mit der XmlDocument-Klasse in der.NET Framework SDK

Dieser Artikel wurde zuvor veröffentlicht unter D301233
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: 301233
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Dieser Artikel bezieht sich auf die folgenden.NET Framework-Klasse Library-Namespace:
  • System.Xml
Zusammenfassung
Dieses Beispiel veranschaulicht das Aktualisieren und Speichern von XML mit der XmlDocument -Klasse.

Anforderungen

Die folgende Liste nennt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
  • Microsoft Windows 2000 Professional, Windows 2000 Server Windows 2000 Advanced Server oder Windows NT 4.0 Server
  • Microsoft Visual Studio.NET
Dieser Artikel setzt voraus, dass Sie mit den folgenden Punkten vertraut sind. Themen:
  • XML-Terminologie
  • Erstellen und Lesen einer XML-Datei
  • Das Dokumentobjektmodell (DOM)

Wie Sie die XmlDocument-Klasse, um XML speichern

  1. Erstellen Sie eine neue Visual Basic oder C#-Konsolenanwendung in Visual Studio.NET.
  2. Stellen Sie sicher, dass das Projekt den System.Xml -Namespace verweist.
  3. Verwenden Sie die Imports -Anweisung für den Xml -Namespace, damit Sie keine XmlTextReader -Deklarationen später im Code vornehmen müssen. Sie müssen die Imports -Anweisung vor allen anderen Deklarationen verwenden.
    Visual Basic.NET-Code
    Imports System.Xml
    C#-Code
    using System.Xml;
  4. Erstellen Sie eine neue XmlDocument -Klasse, und verwenden Sie die Load -Methode laden.

    Die XmlDocument -Klasse stellt das XML-Dokument dar und verfügt über eine Load -Methode zum Laden des Dokuments aus einer Datei, Stream oder einem XmlReader.

    Visual Basic.NET-Code
    Dim myXmlDocument as XmlDocument = new XmlDocument()myXmlDocument.Load ("books.xml")
    C#-Code
    XmlDocument myXmlDocument = new XmlDocument();myXmlDocument.Load ("books.xml");
    Beachten Sie, dass, obwohl die Datei Books.XML verwendet wird, können Sie eine eigene Datei Books.xml. Eine Beispieldatei "Books.xml" ist auch enthalten mit Visual Studio.NET und.NET Framework Software Development Kit (SDK).
  5. Das XmlNode -Objekt stellt Methoden und Eigenschaften zum Bearbeiten eines Knotens. Verwendung das XmlNode -Objekt, das die DocumentElement -Eigenschaft des XmlDocument zurückgibt, um einen XML-Knoten zu bearbeiten.
    Visual Basic.NET-Code
    Dim node as XmlNodenode = myXmlDocument.DocumentElement
    C#-Code
    XmlNode node;node = myXmlDocument.DocumentElement;
  6. Durchlaufen Sie die untergeordneten Elemente des Dokumentelements, und Suchen Sie alle "Price"-Knoten. Verwenden Sie für jede Schleifenkonstrukt mit ChildNodes- Eigenschaft des Node -Objekts, um alle Knoten suchen, deren Name -Eigenschaft gleich "Preis" ist. Doppelte des Preises der Buch.
    Visual Basic.NET-Code
    Dim node2 As XmlNode 'Used for internal loop.Dim nodePriceText As XmlNodeFor Each node In node.ChildNodes   'Find the price child node.   For Each node2 In node.ChildNodes      If node2.Name = "price" Then         '                    nodePriceText = node2.InnerText         Dim price As Decimal         price = System.Decimal.Parse(node2.InnerText)         ' Double the price.         Dim newprice As String         newprice = CType(price * 2, Decimal).ToString("#.00")         Console.WriteLine("Old Price = " & node2.InnerText & Strings.Chr(9) & "New price = " & newprice)         node2.InnerText = newprice      End If   NextNext
    C#-Code
    foreach(XmlNode node1 in node.ChildNodes)   foreach (XmlNode node2 in node1.ChildNodes)      if (node2.Name == "price")         {            Decimal price = Decimal.Parse(node2.InnerText);            // Increase all the book prices by 20%            String newprice = ((Decimal)price*(new Decimal(1.20))).ToString("#.00");            Console.WriteLine("Old Price = " + node2.InnerText + "\tNew price = " + newprice);            node2.InnerText = newprice;          }
  7. Verwenden Sie die Save -Methode der XmlDocument -Klasse, um den geänderten XML-Code in eine neue Datei mit dem Namen zu speichern InflatedPriceBooks.xml.

    Die Save -Methode können um XML-Daten in Dateien, Streams und XmlWriternzu speichern.
    Visual Basic.NET-Code
    myXmlDocument.Save("InflatedPriceBooks.xml")
    C#-Code
    myXmlDocument.Save("InflatedPriceBooks.xml");
  8. Erstellen Sie und führen Sie das Projekt.
Dotnet-xml

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 301233 – Letzte Überarbeitung: 12/06/2015 03:16:20 – Revision: 1.0

Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbhowtomaster kbmt KB301233 KbMtde
Feedback