XML gehört zu den vom W3C empfohlenen strukturierten Formaten, die häufig zum Speichern und Übertragen von Daten verwendet werden. Es wird von Entwicklern stark gefordert, die gespeicherten XML-Daten mit den Anwendungen zu bearbeiten. Um die Bearbeitungsanforderungen zu erleichtern, enthält dieser Artikel Anleitungen zum Bearbeiten der XML-Dateidaten mit C#.

.NET-API zum Bearbeiten von XML-Dateien

GroupDocs.Editor bietet Dokumentenbearbeitungslösungen und APIs zum Bearbeiten einer großen Liste verschiedener Dateiformate. Es ist die .NET-API, die zusammen mit externen Editoren für die visuelle Bearbeitung verwendet werden kann. In diesem Artikel verwenden wir GroupDocs.Editor for .NET zum Bearbeiten von XML-Daten in einer .NET-Anwendung.

Um das DLLs- oder MSI-Installationsprogramm herunterzuladen, besuchen Sie den Downloadbereich oder installieren Sie die API in Ihrer .NET-Anwendung über NuGet.

PM> Install-Package GroupDocs.Editor

So bearbeiten Sie XML-Dateien mit C#

Um direkt zum Ziel zu kommen, werden wir die XML-Daten modifizieren, indem wir einen Wert durch einen anderen ersetzen. Im Folgenden sind die Schritte zum Bearbeiten oder Aktualisieren der XML-Datei mit C# aufgeführt.

  • Laden Sie die XML-Datendatei mit der Klasse Editor.
  • Bereiten Sie die XML-Bearbeitungsoptionen mit der Klasse XmlEditOptions vor.
  • Erstellen Sie zum Bearbeiten das EditableDocument als Quellinhalt mit der Methode Edit und den vorbereiteten Bearbeitungsoptionen.
  • Rufen Sie aus dem EditableDocument den ursprünglichen Inhalt der XML-Datei mit der Methode GetContent ab.
  • Werte im XML-Inhalt aktualisieren.
  • Erstellen Sie jetzt ein neues EditableDocument aus dem aktualisierten XML-Inhalt mit der Methode FromMarkup.
  • Um den aktualisierten Inhalt in verschiedenen Formaten zu speichern, bereiten Sie entsprechende Speicheroptionen wie WordProcessingSaveOptions oder TextSaveOptions vor.
  • Speichern Sie die aktualisierten XML-Daten in einem beliebigen Format mit der Methode Save.

Der folgende C#-Codeausschnitt zeigt, wie die XML-Datei bearbeitet und die Daten aktualisiert und später in einem anderen Format gespeichert werden.

// Bearbeiten Sie die XML-Datei, indem Sie die Werte mit C# aktualisieren
using (Editor editor = new Editor("path/data.xml"))
{
    // Erstellen Sie XML-Bearbeitungsoptionen
    Options.XmlEditOptions editOptions = new XmlEditOptions();
    editOptions.AttributeValuesQuoteType = QuoteType.DoubleQuote;
    editOptions.RecognizeEmails = true;
    editOptions.RecognizeUris = true;
    editOptions.TrimTrailingWhitespaces = true;

    // Einstellungen für bearbeitbare Dokumente
    using (EditableDocument beforeEdit = editor.Edit(editOptions))
    {
        // Bearbeite was auch immer
        string originalTextContent = beforeEdit.GetContent();
        string updatedTextContent = originalTextContent.Replace("John", "Samuel");

        List<IHtmlResource> allResources = beforeEdit.AllResources;

        // Erstellen Sie ein bearbeitbares Dokument mit aktualisiertem Inhalt
        using (EditableDocument afterEdit = EditableDocument.FromMarkup(updatedTextContent, allResources))
        {
            // Speicheroptionen für die Textverarbeitung erstellen
            Options.WordProcessingSaveOptions wordSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
                        
            // Erstellen Sie TXT-Speicheroptionen
            Options.TextSaveOptions txtSaveOptions = new TextSaveOptions();
            txtSaveOptions.Encoding = System.Text.Encoding.UTF8;

            // Speichern Sie bearbeitete XML-Daten im DOCX- und TXT-Format
            editor.Save(afterEdit, "path/xmlData.docx", wordSaveOptions);
            editor.Save(afterEdit, "path/xmlData.txt", txtSaveOptions);
        }
    }
}

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.

Fazit

Zusammenfassend haben wir gelernt, XML-Dateidaten mit C# programmgesteuert zu bearbeiten. Weitere Funktionen von GroupDocs.Editor können Sie in der Dokumentation näher erkunden. Um Unklarheiten zu klären, kontaktieren Sie uns im Forum.

Siehe auch