XML è un linguaggio autodescrittivo consigliato dal W3C, progettato per archiviare e trasportare dati. Uno sviluppatore può modificare il formato XML in qualsiasi altro formato meglio leggibile come PDF o MS Word all’interno dell’applicazione .NET. Questo articolo discuterà come convertire i dati XML in report PDF e MS Word utilizzando C# tramite modelli semplici.

Report da XML a PDF in C#

I seguenti argomenti sono discussi di seguito:

API .NET per la generazione di report: da XML a PDF e WORD

GroupDocs.Assembly for .NET è l’API per automatizzare la generazione di report dai dati XML utilizzando il modello DOCX o TXT. Inoltre, supporta JSON, CSV e altre origini dati per convertire i dati in rapporti di diversi formati di file.

Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite NuGet.

PM> Install-Package GroupDocs.Assembly

Genera report PDF da dati XML in C#

3 semplici passaggi ti porteranno a convertire i dati XML nel rapporto PDF formattato.

  1. Carica la tua origine dati XML.
  2. Definire il modello in base ai dati XML caricati.
  3. Infine, fornisci l’origine dati e il modello XML a un metodo di generazione di report.

Dati XML

I seguenti dati di esempio XML vengono utilizzati per convertirli nel report PDF. Contiene i dati dei gestori e dei rispettivi clienti con qualche dettaglio in più.

<Managers>
	<Manager>
		<Name>John Smith</Name>
		<Contract>
			<Client>
				<Name>A Company</Name>
			</Client>
			<Price>1200000</Price>
		</Contract>
		<Contract>
		...
		</Contract>
		...
	</Manager>
	<Manager>
		<Name>Tony Anderson</Name>
		...
	</Manager>
	...
</Managers>

Modello

Definisci il modello in formato TXT o DOCX in base ai dati XML di origine. Sto usando il modello menzionato di seguito che viene creato in base ai dati XML dei gestori sopra menzionati. Ciò consentirà al generatore di report di eseguire un’iterazione sui gestori e sui rispettivi clienti. Dopo il completamento del modello, hai quasi finito. Puoi utilizzare il codice riportato di seguito per la generazione del rapporto.

<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>

C# Passaggi per generare report PDF da XML

I passaggi seguenti consentono di automatizzare la generazione di report PDF dai dati XML in base al modello definito.

  • Definisci file di dati XML, file modello di testo e file di report di output PDF.
  • Istanziare XMLDataSoure con file di dati XML.
  • Crea DataSourceInfo con un’origine dati XML definita.
  • Chiama il metodo AssembleDocument per generare il rapporto PDF.

Il codice seguente implementa i passaggi precedenti e genera un PDF dall’origine dati XML usando C#.

// Genera report PDF da dati XML utilizzando il modello TXT in CSharp
// Definire l'origine dati, il modello e i file di report di output.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Carica l'origine dati XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Assembla il documento per generare PDF
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Genera report MS Word da dati XML in C#

Allo stesso modo, puoi anche creare il report in formato MS Word DOC/DOCX utilizzando gli stessi dati XML. Non ci sarà alcuna differenza nel codice da quello discusso sopra, tranne per il fatto che devi cambiare il nome del file di output.

  • Carica il file di dati XML.
  • Definizione del modello in formato TXT o DOCX.
  • Impostare il formato del documento del rapporto di output come DOCX.
  • Fornire il file di dati XML, il modello e il percorso del file di output a DocumentAssembler per convertire l’XML in DOCX.

Il codice seguente converte l’XML e genera il file DOCX usando il modello definito usando C#.

// Genera report MS Word da dati XML utilizzando il modello di testo in CSharp
// Definire l'origine dati, il modello e i file di report di output.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Carica l'origine dati XML
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Assembla il documento per generare il rapporto di Word
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per riassumere, hai imparato a convertire i dati XML in formato PDF come report utilizzando C# con l’applicazione .NET. Inoltre, abbiamo discusso della generazione di report in formato DOC/DOCX dallo stesso XML utilizzando il modello. Dopo aver letto questa serie di post di generazione di report; Genera report PDF e MS Word da JSON, CSV, XML, puoi sviluppare la tua applicazione .NET per la creazione di report.

Per ulteriori informazioni su GroupDocs.Assembly, opzioni ed esempi, visitare documentation e il repository GitHub. Per ulteriori domande, contattaci tramite il forum.

Guarda anche