Lavorare con l' elaborazione XML

Lavorare con l' elaborazione XML

Lavorare con l’ elaborazione XML

I file XLSX memorizzano i loro dati in parti XML all’interno di un pacchetto OPC. Aspose.Cells FOSS per .NET espone il livello di analisi e serializzazione XML attraverso quattro classi mapper: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper, e StylesheetXmlMapper.Ogni mappatore implementa entrambi i processi . Read e di cui al punto 2 Write Le API di infrastruttura interna sono le principali funzioni che vengono eseguite attraverso la rete XML. Workbook e di cui al punto 2 Worksheet oggetti.


Classi di mappatura XML

Ogni mappatore XML è responsabile di una parte XML della struttura XLSX:

Mapper (cartografo)Parte XMLResponsabilità
WorkbookXmlMapperxl/workbook.xmlMetadati a livello di foglio, riferimenti alle schede e nomi definiti
WorksheetXmlMapperxl/worksheets/sheetN.xmlDati delle celle, formule, collegamenti ipertestuali, formati condizionati, convalida dei dati
SharedStringTableXmlMapperxl/sharedStrings.xmlTabella delle stringhe condivise per i valori di stringh non duplicati
StylesheetXmlMapperxl/styles.xmlStili di cella, caratteri, riempimenti, bordi e formati numerici

Ogni mappatore espone due metodi Read e di cui al punto 2 Write richiamato dal carico della biblioteca e risparmiare rispettivamente le condotte.


XmlParsingException

XmlParsingException viene lanciato quando un mappatore incontra XML malformata che non può essere riparato. È sollevato prima di WorkbookLoadException nella gerarchia degli errori quando il fallimento si verifica durante l’analisi XML in particolare.

using Aspose.Cells_FOSS;

var opts = new LoadOptions
{
    TryRepairPackage = true,
    TryRepairXml = true,
};

try
{
    var wb = new Workbook("malformed.xlsx", opts);
    Console.WriteLine("Loaded: " + wb.Worksheets.Count + " sheet(s)");
}
catch (XmlParsingException ex)
{
    Console.WriteLine("XML parse error: " + ex.Message);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Load error: " + ex.Message);
}

Suggerimenti e migliori pratiche

  • Set di dati TryRepairXml = true in LoadOptions Per attivare il percorso di analisi del mappatore.
  • Prendere il pesce XmlParsingException oltre a: WorkbookLoadException quando si gestiscono file provenienti da sistemi esterni che possono produrre XML malformato.
  • Le classi XML mapper non sono destinate ad essere istanziate da codice applicativo vengono invocate automaticamente durante il processo di mappatura. Workbook costruzione e Save().
  • Se è necessario ispezionare il contenuto XML grezzo per la diagnostica, estrarre l’XLSX come ZIP ed esaminare direttamente le parti XML pertinenti.

Problemi comuni

Numero di pubblicazioneCausa di morteRettifica
XmlParsingException a caricoXML malformato in una delle parti XLSXSet di dati TryRepairXml = true in LoadOptions
Stili mancanti dopo il viaggio di andata e ritornoStylesheetXmlMapper Non è stato possibile analizzare un record di stile personalizzatoControllo LoadDiagnostics.Issues per le voci di riparazione relative allo stile
String condivise mancanti nel file caricatoSharedStringTableXmlMapper Incontra una tabella di stringhe condivise corrottaAbilitare TryRepairXml;Verificare che il file originale abbia un codice valido. xl/sharedStrings.xml

FAQ

Posso implementare il mio mapper XML?

Le classi di mappatori XML sono infrastrutture interne sigillate. I mapper personalizzati non sono supportati nell’attuale API surface.

Perché c’è un separato? SharedStringTableXmlMapper?

La specifica OOXML separa i valori delle stringhe in una tabella di stringh condivisa (xl/sharedStrings.xmlIl mapper gestisce la lettura e la scrittura di questa tabella in modo indipendente.

- Sì. TryRepairXml = true risolvere tutti i problemi XML?

TryRepairXml gestisce problemi recuperabili come elementi non chiusi, spazio di nomi mancanti e valori troncati. XML strutturalmente valido ma semanticamente incoerente (ad esempio riferimenti a formule rotte) può ancora causare XmlParsingException.


Riassunto di riferimento API

Classe di formazioneDescrizione
WorkbookXmlMapperLegge/scrive xl/workbook.xml
WorksheetXmlMapperLegge/scrive parti XML per foglio
SharedStringTableXmlMapperLegge/scrive xl/sharedStrings.xml
StylesheetXmlMapperLegge/scrive xl/styles.xml
XmlParsingExceptionLanciato su fallimenti di analisi XML irriparabili
 Italiano