O XML está entre os formatos estruturados recomendados pelo W3C, comumente usados para armazenar e transmitir dados. É amplamente exigido pelos desenvolvedores para editar os dados XML armazenados com os aplicativos. Para facilitar o requisito de edição, este artigo orienta sobre como editar os dados do arquivo XML usando C#.

API .NET para editar arquivos XML

GroupDocs.Editor fornece soluções de edição de documentos e APIs para editar uma grande lista de diferentes formatos de arquivo. É a API .NET que pode ser usada junto com editores externos para edição visual. Neste artigo, usaremos GroupDocs.Editor para .NET para editar dados XML dentro do aplicativo .NET.

Para baixar o instalador de DLLs ou MSI, visite a seção de downloads ou instale a API em seu aplicativo .NET via NuGet.

PM> Install-Package GroupDocs.Editor

Como editar arquivos XML usando C#

Indo direto ao objetivo, vamos modificar os dados XML substituindo um valor por outro. A seguir estão as etapas para editar ou atualizar o arquivo XML usando C#.

  • Carregue o arquivo de dados XML usando a classe Editor.
  • Prepare as opções de edição de XML usando a classe XmlEditOptions.
  • Para edição, crie o EditableDocument como conteúdo de origem usando o método Edit e as opções de edição preparadas.
  • No EditableDocument, obtenha o conteúdo original do arquivo XML usando o método GetContent.
  • Atualizar valores no conteúdo XML.
  • Agora crie um novo EditableDocument a partir do conteúdo XML atualizado usando o método FromMarkup.
  • Para salvar o conteúdo atualizado em diferentes formatos, prepare opções de salvamento relevantes como WordProcessingSaveOptions ou TextSaveOptions.
  • Salve os dados XML atualizados em qualquer formato usando o método Save.

O trecho de código C# a seguir mostra como editar o arquivo XML e atualizar os dados, depois salvá-lo em qualquer outro formato.

// Edite o arquivo XML atualizando valores usando C#
using (Editor editor = new Editor("path/data.xml"))
{
    // Criar opções de edição XML
    Options.XmlEditOptions editOptions = new XmlEditOptions();
    editOptions.AttributeValuesQuoteType = QuoteType.DoubleQuote;
    editOptions.RecognizeEmails = true;
    editOptions.RecognizeUris = true;
    editOptions.TrimTrailingWhitespaces = true;

    // Configurações de documentos editáveis
    using (EditableDocument beforeEdit = editor.Edit(editOptions))
    {
        // Edite o que for
        string originalTextContent = beforeEdit.GetContent();
        string updatedTextContent = originalTextContent.Replace("John", "Samuel");

        List<IHtmlResource> allResources = beforeEdit.AllResources;

        // Criar EditableDocument com conteúdo atualizado
        using (EditableDocument afterEdit = EditableDocument.FromMarkup(updatedTextContent, allResources))
        {
            // Criar opções de salvamento do WordProcessing
            Options.WordProcessingSaveOptions wordSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
                        
            // Criar opções de salvamento de TXT
            Options.TextSaveOptions txtSaveOptions = new TextSaveOptions();
            txtSaveOptions.Encoding = System.Text.Encoding.UTF8;

            // Salve dados XML editados em formato DOCX e TXT
            editor.Save(afterEdit, "path/xmlData.docx", wordSaveOptions);
            editor.Save(afterEdit, "path/xmlData.txt", txtSaveOptions);
        }
    }
}

Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Para resumir, aprendemos a editar dados de arquivos XML programaticamente usando C#. Você pode explorar outros recursos do GroupDocs.Editor usando a documentação. Para esclarecer qualquer ambiguidade, entre em contato conosco no fórum.

Veja também