Arbeta med XML-behandling
Arbeta med XML-behandling
XLSX-filer lagrar sina data i XML-delar inom ett OPC-paket. Aspose.Cells FOSS för .NET exponerar XML parsing och serialiseringslagen genom fyra mapparklasser: WorkbookXmlMapper, WorksheetXmlMapper, SharedStringTableXmlMapper,och StylesheetXmlMapper.Varje mappa implementerar båda Read och Write Dessa är interna infrastruktur APIs – de flesta applikationskoder fungerar helt genom Workbook och Worksheet och föremål.
XML Mapper klasser
Varje XML-mapp är ansvarig för en del av XLSX-strukturen:
| Mapper | XML del | Responsibility |
|---|---|---|
WorkbookXmlMapper | xl/workbook.xml | Metadata på arbetsboknivå, referenser till ark, definierade namn |
WorksheetXmlMapper | xl/worksheets/sheetN.xml | Celldata, formler, hyperlänkar, villkorliga format, datavalidering |
SharedStringTableXmlMapper | xl/sharedStrings.xml | Delade strängtabell för de-duplicerade strängen värden |
StylesheetXmlMapper | xl/styles.xml | Cellstilar, teckensnitt, fyllningar, gränser, siffror format |
Varje kartong visar två metoder - Read och Write — inbjuds av bibliotekets last och sparar rörledningar respektive.
XmlParsingUtanför
XmlParsingException kastas när en mappa möter felformad XML som inte kan repareras. WorkbookLoadException i felhierarkiet när misslyckandet uppstår under XML-parsing specifikt.
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);
}Tips och bästa praxis
- Setade
TryRepairXml = trueiLoadOptionsför att möjliggöra mapparens feltoleranta parningspår. - Catch
XmlParsingExceptionFörutom attWorkbookLoadExceptionnär hantera filer från externa system som kan producera malformade XML. - XML-mappklasser är inte avsedda att installeras med applikationskod – de inbjuds automatiskt under
WorkbookByggandet ochSave(). - Om du behöver inspektera rå XML-innehåll för diagnoser, extrahera XLSX som en ZIP och undersöka relevanta XML delar direkt.
Vanliga frågor
| Issue | Cause | Fixar |
|---|---|---|
XmlParsingException på last | XML-formad i en av XLSX-delarna | Setade TryRepairXml = true i LoadOptions |
| Saknade stilar efter rundturen | StylesheetXmlMapper Kan inte släppa en standard-stils rekord | Check LoadDiagnostics.Issues för stilrelaterade reparationsinlägg |
| Delade strängar saknas i laddad fil | SharedStringTableXmlMapper möter en korrupt delad strängbord | Enable TryRepairXml;• verifiera att originalfilen har en giltig fil xl/sharedStrings.xml |
FAQ
Kan jag implementera min egen XML-mapp?
XML-mappklasser är inre infrastrukturer. anpassade mappare stöds inte i den aktuella API-ytan.
Varför finns det en separat SharedStringTableXmlMapper?
OOXML-specifikationen separerar strängvärden i en delad strängen tabell (xl/sharedStrings.xml) för att de-duplicera upprepade strängar över arbetsboken. mappen hanterar läsning och skrivande av denna tabell oberoende.
Does TryRepairXml = true Får du lösa alla XML-problem?
TryRepairXml hanterar återställbara problem som oklara element, saknade namnutrymmen och trunkade värden. Strukturellt giltiga men semantiskt oförenliga XML (t.ex. bruten formel referenser) kan fortfarande orsaka XmlParsingException.
API Referens sammanfattning
| Class | Beskrivning |
|---|---|
WorkbookXmlMapper | Läs / Skriva xl/workbook.xml |
WorksheetXmlMapper | Läs/skriver per-sheet XML delar |
SharedStringTableXmlMapper | Läs / Skriva xl/sharedStrings.xml |
StylesheetXmlMapper | Läs / Skriva xl/styles.xml |
XmlParsingException | Upptäck oåterkalleliga XML-pars misslyckanden |