XML входит в число рекомендованных W3C структурированных форматов, обычно используемых для хранения и передачи данных. Разработчикам крайне необходимо редактировать сохраненные XML-данные с помощью приложений. Чтобы упростить редактирование, в этой статье рассказывается, как редактировать данные XML-файла с помощью C#.

.NET API для редактирования файлов XML

GroupDocs.Editor предоставляет решения для редактирования документов и API для редактирования большого списка различных форматов файлов. Это .NET API, который можно использовать вместе с внешними редакторами для визуального редактирования. В этой статье мы будем использовать GroupDocs.Editor for .NET для редактирования данных XML в приложении .NET.

Чтобы загрузить DLL или MSI, посетите раздел загрузок или установите API в своем приложении .NET с помощью NuGet.

PM> Install-Package GroupDocs.Editor

Как редактировать XML-файлы с помощью C#

Переходя прямо к цели, мы изменим данные XML, заменив одно значение другим. Ниже приведены шаги по редактированию или обновлению XML-файла с помощью C#.

  • Загрузите файл данных XML с помощью класса Editor.
  • Подготовьте параметры редактирования XML с помощью класса XmlEditOptions.
  • Для редактирования создайте EditableDocument в качестве исходного контента, используя метод Edit и подготовленные параметры редактирования.
  • Из EditableDocument получите исходное содержимое XML-файла с помощью метода GetContent.
  • Обновление значений в XML-содержимом.
  • Теперь создайте новый EditableDocument из обновленного содержимого XML, используя метод FromMarkup.
  • Для сохранения обновленного содержимого в разных форматах подготовьте соответствующие параметры сохранения, например WordProcessingSaveOptions или TextSaveOptions.
  • Сохраните обновленные данные XML в любом формате, используя метод Сохранить.

В следующем фрагменте кода C# показано, как редактировать XML-файл и обновлять данные, а затем сохранять их в любом другом формате.

// Отредактируйте файл XML, обновив значения с помощью C#
using (Editor editor = new Editor("path/data.xml"))
{
    // Создание параметров редактирования XML
    Options.XmlEditOptions editOptions = new XmlEditOptions();
    editOptions.AttributeValuesQuoteType = QuoteType.DoubleQuote;
    editOptions.RecognizeEmails = true;
    editOptions.RecognizeUris = true;
    editOptions.TrimTrailingWhitespaces = true;

    // Настройки редактируемого документа
    using (EditableDocument beforeEdit = editor.Edit(editOptions))
    {
        // Редактировать что угодно
        string originalTextContent = beforeEdit.GetContent();
        string updatedTextContent = originalTextContent.Replace("John", "Samuel");

        List<IHtmlResource> allResources = beforeEdit.AllResources;

        // Создать EditableDocument с обновленным содержимым
        using (EditableDocument afterEdit = EditableDocument.FromMarkup(updatedTextContent, allResources))
        {
            // Создать параметры сохранения WordProcessing
            Options.WordProcessingSaveOptions wordSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
                        
            // Создайте параметры сохранения TXT
            Options.TextSaveOptions txtSaveOptions = new TextSaveOptions();
            txtSaveOptions.Encoding = System.Text.Encoding.UTF8;

            // Сохраняйте отредактированные данные XML в формате DOCX и TXT.
            editor.Save(afterEdit, "path/xmlData.docx", wordSaveOptions);
            editor.Save(afterEdit, "path/xmlData.txt", txtSaveOptions);
        }
    }
}

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений пробной версии.

Вывод

Подводя итог, мы научились программно редактировать данные файла XML с помощью C#. Вы можете дополнительно изучить другие функции GroupDocs.Editor, используя документацию. Чтобы прояснить любую неясность, свяжитесь с нами на форуме.

Смотрите также