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 XML | Responsabilità |
|---|---|---|
WorkbookXmlMapper | xl/workbook.xml | Metadati a livello di foglio, riferimenti alle schede e nomi definiti |
WorksheetXmlMapper | xl/worksheets/sheetN.xml | Dati delle celle, formule, collegamenti ipertestuali, formati condizionati, convalida dei dati |
SharedStringTableXmlMapper | xl/sharedStrings.xml | Tabella delle stringhe condivise per i valori di stringh non duplicati |
StylesheetXmlMapper | xl/styles.xml | Stili 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 = trueinLoadOptionsPer attivare il percorso di analisi del mappatore. - Prendere il pesce
XmlParsingExceptionoltre a:WorkbookLoadExceptionquando 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.
Workbookcostruzione eSave(). - 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 pubblicazione | Causa di morte | Rettifica |
|---|---|---|
XmlParsingException a carico | XML malformato in una delle parti XLSX | Set di dati TryRepairXml = true in LoadOptions |
| Stili mancanti dopo il viaggio di andata e ritorno | StylesheetXmlMapper Non è stato possibile analizzare un record di stile personalizzato | Controllo LoadDiagnostics.Issues per le voci di riparazione relative allo stile |
| String condivise mancanti nel file caricato | SharedStringTableXmlMapper Incontra una tabella di stringhe condivise corrotta | Abilitare 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 formazione | Descrizione |
|---|---|
WorkbookXmlMapper | Legge/scrive xl/workbook.xml |
WorksheetXmlMapper | Legge/scrive parti XML per foglio |
SharedStringTableXmlMapper | Legge/scrive xl/sharedStrings.xml |
StylesheetXmlMapper | Legge/scrive xl/styles.xml |
XmlParsingException | Lanciato su fallimenti di analisi XML irriparabili |